# πŸ’° Flask Expense Tracker An interactive and secure expense tracking web app built with **Flask**, **Pandas**, **Matplotlib**, and **JavaScript**. It lets users log their daily expenses, visualize spending trends, manage savings goals, and view insightful dashboards.

Description

--- ## ✨ Features: - πŸ”’ Encrypted account credentials and budgets - 🧾 Daily expense logging by category - πŸ“ˆ Dashboard with: - Pie chart (category distribution) - Line graph (spending trends) - Bar chart (budget % per day) - πŸ’¬ Insight messages to guide your saving behavior - πŸ“Š Automatically generated expense tables - βš™οΈ Change income or saving goal from settings - πŸ—ƒ Data stored in `Expenses.csv` and `Classified.csv` --- ## πŸ›  Tech Stack: - **Backend:** Python(Flask, Pandas) - **Frontend:** HTML, CSS, JavaScript - **Visualization:** Matplotlib - **Encryption:** Self-made `simple_encrypter` module --- ## πŸ“ΈDashboard preview: | Chart | Description | | -------------------------------------- | -------------------------- | | ![Pie Chart](https://github.com/user-attachments/assets/80ec048c-c322-4b57-bd61-923001247d63) | Expense by category | | ![Trend Line](https://github.com/user-attachments/assets/b80696e8-4616-465f-a8fc-d89d31310240) | Daily spending trend | | ![Bar Chart](https://github.com/user-attachments/assets/db75b6e7-a097-40e8-beef-45f4628a3c86) | Daily spending % of budget | --- ## πŸ•Ή Demo link Try the app using this link: [Expense Tracker](https://web-expense-tracker-production.up.railway.app/) --- ## πŸ“•Guide 1. open the demo link 2. click `sign up` 3. add your email password income and saving goal and click sign up 4. add your expenses by clicking on `add data` (do this daily) 5. click `generate dashboard` and see the insights and info about your spending patterns 6. if you want to change the entered income or saving goal, click on the last button and change them. --- ## πŸš€ Running it locally if you want to use the app but you are worried about the security of the site, here is how to run it locally! ### 1. Clone the Repo ```bash git clone https://github.com/your-username/flask-expense-tracker.git cd flask-expense-tracker ``` ### 2. Install Requirements ```bash pip install flask pandas matplotlib ``` ### 3. Create Required Files Ensure you have this folder structure:
πŸ“Web-Expense-Tracker
β”‚   Classified.csv
β”‚   Expenses.csv
β”‚   main.py
β”‚   Procfile
β”‚   README.md
β”‚   requirements.txt
β”‚   simple_encrypter.py
β”‚
β”œβ”€β”€β”€static
β”‚   β”‚   categories.js
β”‚   β”‚   change.js
β”‚   β”‚   home.js
β”‚   β”‚   login.css
β”‚   β”‚   login.js
β”‚   β”‚   logo.png
β”‚   β”‚   options.js
β”‚   β”‚   signup.js
β”‚   β”‚
β”‚   └───charts
β”‚           pie.png
β”‚           plot.png
β”‚           trend.png
β”‚
└───templates
        categories.html
        change.html
        error.html
        home.html
        login.html
        options.html
        signup.html
        template.html
### 4. Run the App ```bash python main.py ``` Then visit: πŸ“ http://localhost:5000 --- ## πŸ” About `simple_encrypter` Handles encryption and decryption of passwords and income using symmetric encryption. If you are intrested, I have a repo only for it here: simple-encrypter --- ## πŸ™Œ Credits Developed by Kevin Ehab