Flask Expense App is a web-based application that helps users track their expenses and earnings. The app allows users to add, view, and manage their expenses, providing insights through a user-friendly interface. It includes features like user authentication, expense categorization, and financial analysis.
- User Authentication: Register and login functionality with secure session management.
- Expense Management: Add, view, and delete expenses with categories like Food, Transport, Shopping, Rent, and Others.
- Earnings Management: Add and track earnings to manage your finances.
- Financial Analysis: Visualize your expenses and earnings through various graphs and charts.
- User Profile: View and update user profile settings.
- Flask: Web framework used to build the application.
- MySQL: Database for storing user data, expenses, and earnings.
- HTML/CSS/JS: Frontend technologies to create a responsive and user-friendly interface.
- Flask-WTF: Flask extension for handling forms and CSRF protection.
-
Clone the repository:
git clone https://github.com/yourusername/Expense-App.git cd flask-expense-app
-
Install the dependencies:
pip install -r requirements.txt
-
Configure the database:
Ensure you have MySQL installed and create a database named
expense_DB
. Update the database configuration inmain.py
:conn = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="expense_DB" )
-
Run the application:
python3 main.py
The application will be available at
http://127.0.0.1:5000/
.
- Register: Create a new account by providing your name, email, and password.
- Login: Log in to your account using the registered email and password.
- Home: View the dashboard displaying total earnings, total expenses, and the balance.
- Add Expense: Add new expenses by selecting a category, entering the amount, and providing additional notes.
- Add Earning: Add your earnings to keep track of your total income.
- Profile: View and update your profile information.
- Analysis: Get insights into your spending habits through various charts and graphs.
- Settings: Update your account settings such as name, email, and password.
- Logout: Securely log out from your account.
expense_app/
├── main.py
├── requirements.txt
├── templates/
│ ├── home.html
│ ├── login.html
│ ├── register.html
│ ├── settings.html
│ ├── profile.html
│ └── analysis.html
├── static/
│ ├── css/
│ ├── js/
│ └── avatars/
├── database/
│ ├── expense_DB.sql
│
└── README.md
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes and commit them (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Open a pull request.
This project is licensed under the MIT License.