/Bahi-Khata

Python app to help you become prudent in your spendings

Primary LanguageCSSGNU General Public License v3.0GPL-3.0


Logo

बही खाता

A Python app to help you become prudent in your spendings

View Demo · Report Bug · Request Feature

Table of Contents

landing-page.png

About The Project

Where does all my money go?

If you have been asking this question to yourself frequently, you are not alone. Handling finances can be tricky. This project is an attempt to help you plan right, so that you worry less while living from paycheck to paycheck.

Supported Receipts

  • Amazon

  • Flipkart

  • Myntra

  • Ola

  • Uber

  • Zomato

  • Swiggy

  • Curefit

Built With

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

Installation

  1. Clone the repo
git clone https://github.com/Bahi-Khata-App/Bahi-Khata
  1. Install the dependencies
pip install -r requirements.txt
  1. Setup Gmail API
    1. Check gmail.readonly scope in your Gmail API OAuth consent page
    2. Add http://localhost:5000/push as redirect URI while generating credentials
    3. Download and place your Gmail API credentials in data/credentials.json
  2. Place your SendGrid API credentials in data/sendgrid.json
  3. (Optional) Place your analytics tracking script in base.html

Usage

  1. Set flask environment variable
export FLASK_APP="gmail_flask.py"
  1. Set LOCAL_DEV = True in gmail_flask.py
  2. flask run
  3. Complete the one time app verification

usage.gif

  1. If any relevant data is found, you'll receive an email report similar as below

sample_report.png

Deployment

  1. Set up Heroku CLI.
  2. Add redirect URI <HEROKU_APP_LINK>/push in Gmail API console.
  3. Add the chromedriver and google-chrome buildpacks in app settings on your Heroku dashboard.
  4. Configure environment variables for your app in the dashboard.
KEY VALUE
CHROMEDRIVER_PATH /app/.chromedriver/bin/chromedriver
GOOGLE_CHROME_BIN /app/.apt/usr/bin/google-chrome

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GPLv3 License. See LICENSE for more information.

Authors

Acknowledgements

  • Hat tip to anyone whose code was used