Definition:
1. discreetly cautious
a. hesitant and vigilant about dangers and risks
b. slow to grant, accept, or expend
“Chary.” Merriam-Webster.com Dictionary, Merriam-Webster, https://www.merriam-webster.com/dictionary/chary.
Chary is a budgeting application that keeps track of a user's budgets and expenses to help them reach their financial goals and spend less. Chary creates visuals that help users see exactly how much of their money goes into their set categories. For example, a user could have Chary keep track of how much money they spend a month on groceries versus takeout.
Users can login using Google and their information is stored in a firestore database so that they can come back to their budgets at any time.
Dependencies used are listed in requirements.txt. You can create a virtual environment and then run
pip install -r requirements.txt
to install them all at once.
- In order to use Google's login authentication method, you need to create a client on Google Cloud Platform. Follow these instructions to get a client ID and client secret.
- Download the generated client secret JSON file and add it to the project's parent folder (so as not to include it in the project files or accidentally upload online) as 'client_secret.json', or change the path referencing it in main.py.
- Add the client id, client secret, and a randomly generated secret_key to a .env file using the provided .env.template file.
You need to create a service account and get a JSON key on GCP console. Add this service account to the parent folder of the project (so as not to include it in the project files or accidentally upload online). Then set the credential environmental variable in your .env file:
GOOGLE_APPLICATION_CREDENTIALS=[PATH TO SERVICE ACCOUNT JSON]
You need to make sure that Flask knows where your app code is. You need to specify the file name of the flask app:
export FLASK_APP=main
then you can run
py -m flask run