The goal of this project is to provide users an insight into how much they're spending over a period of time along with the distribution of money that is spent on particular things (Shopping, Car Expenses, Misc., etc.) along with tracking how much money they're having come in each month. This information should be determined given a CSV file formatted to match the expected formatting. Most banks allow you to export a CSV report which is why I went with this.
- Python3 (3.6+)
- Pipenv
- Docker (mysql image)
- NodeJS
- Node Package Manager (NPM)
- Typescript (3+)
- Angular 9 CLI
- Pull latest mysql image
docker pull mysql:latest - Run the container and initialize with root password
docker run --name mysql -e MYSQL_ROOT_PASSWORD=Test123 -e MYSQL_DATABASE=FinanceTracking -d mysql:latest--name will be the name of the container - Ensure the docker port default is port 3306
- Move into the FinanceTrackingAPI directory
- Run
pipenv shellto launch subshell in virtual environment - Inside the shell of the virtual environment run
pipenv installto install dependencies - Inside the shell of the virtual environment run
python -m src.mainto start the flask API
- Move into the FinanceTrackingUI directory
- I personally like to run
npm installto ensure I have all the packages needed for the angular project. - After that run
npm startorng serveto start running the Angular application locally, refer to the README.md in the FinanceTrackingUI directory for additional information and commands related to running the Angular application.
This is still a work in progress.
- Give users ability to enter specific information without having to put it into a CSV and upload it.
- Currently this only accepts a specifically formatted CSV, it can be expanded to possibly accept PDF's or different formattings of CSVs.