Skip to content

amanvelani/SaveStreak

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SaveStreak

SaveStreak is a simple app that helps you keep track of your savings streaks. It's a great way to keep yourself motivated to save money.

Table of Contents

Market Research

We did some market research and found that there are a few apps that help you keep track of your savings, but none of them focus on keeping a streak going. I think this is a great way to keep people motivated to save money. Apps already in the market:

Tech Stack

  • Swift (iOS)
  • Flask (Backend Server)
  • MongoDB (Database)
  • Plaid API sandbox environment (for linking bank accounts)

How to run backend server

  1. Clone the repository
git clone https://github.com/amanvelani/SaveStreak/tree/main
  1. Change directory to the backend folder
cd SaveStreak/server
  1. Install the required dependencies
pip3 install -r requirements.txt
  1. Set the environment variables
cp .env.example .env
  1. Run the server
python3 flask_app.py

The server is also running on https://save-streak.live

Build the Project

How to run the iOS app

  1. Import the project in Xcode from the SaveStreak/app folder
  2. Run the project in Xcode
  3. If you are running you own server change the APIConfig.swift file to point to your server

Custom Data

In this project we are using the Plaid API to get the transactions. We are using the sandbox environment of the Plaid API. The Plaid API has a few test accounts that we can use to get the transactions. The test accounts can be created using the following files:

  1. Random User Data - This file is used to generate random user data. The file generates random user data and saves it in the custom_user_data/ folder.
  2. Custom Location Data - This file is used to generate random location data. The file generates random location data and saves it in the database. We are using the location data to set the location of the transactions as the plaid sandbox environment does not provide the location of the transactions.
  3. Category Data - This file is used to generate category data. The file generates category data and saves it in the database. We are using the category data to set the category of the transactions as the plaid sandbox environment provides only 1-2 categories for the transactions. We are using the category data to set the category of the transactions.

Architecture

  1. User Flow Diagram User Flow Diagram
  2. Dashboard Flow Diagram Dashboard Flow Diagram
  3. Add Account Flow Diagram Add Account Flow Diagram

Contributors

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published