Skip to content

A web-based expense tracking application built with Flask, MySQL, and Flask-WTF. Manage your expenses and earnings, view financial insights, and update user settings.

License

Notifications You must be signed in to change notification settings

TazmeenAfroz/Expense-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flask Expense App

Overview

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.

Features

  • 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.

Technologies Used

  • 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.

Installation

  1. Clone the repository:
    git clone https://github.com/yourusername/Expense-App.git
    cd flask-expense-app
  2. Install the dependencies:
    pip install -r requirements.txt
  3. Configure the database:

    Ensure you have MySQL installed and create a database named expense_DB. Update the database configuration in main.py:

    conn = mysql.connector.connect(
        host="localhost",
        user="yourusername",
        password="yourpassword",
        database="expense_DB"
    )
  4. Run the application:
    python3 main.py

    The application will be available at http://127.0.0.1:5000/.

Usage

  1. Register: Create a new account by providing your name, email, and password.
  2. Login: Log in to your account using the registered email and password.
  3. Home: View the dashboard displaying total earnings, total expenses, and the balance.
  4. Add Expense: Add new expenses by selecting a category, entering the amount, and providing additional notes.
  5. Add Earning: Add your earnings to keep track of your total income.
  6. Profile: View and update your profile information.
  7. Analysis: Get insights into your spending habits through various charts and graphs.
  8. Settings: Update your account settings such as name, email, and password.
  9. Logout: Securely log out from your account.

File Structure

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

Screenshots

Home Page

Home Page

Login Page

Login Page

Register Page

Register

Profile

Profile

Analysis

Analysis

Contributing

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Make your changes and commit them (git commit -m 'Add new feature').
  4. Push to the branch (git push origin feature-branch).
  5. Open a pull request.

License

This project is licensed under the MIT License.

About

A web-based expense tracking application built with Flask, MySQL, and Flask-WTF. Manage your expenses and earnings, view financial insights, and update user settings.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published