Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Personal Finance Tracker

Video Demo

https://youtu.be/hvYvyb8vzJg

Description

Personal Finance Tracker is a web application built with Flask that helps users manage their personal finances in a simple and efficient way. The application allows users to register, log in securely, and keep track of their income and expenses.

Users can add, edit, and delete transactions, view a complete history of their financial activity, and filter or search through their records. The application also provides a dashboard with summarized data such as total income, total expenses, and current balance, along with visual charts for better understanding.

This project was created as a final project for CS50 to demonstrate knowledge of web development, including backend logic, database management, authentication, and user interface design.

Features

  • User registration and login system
  • Add income and expense transactions
  • Edit and delete transactions
  • View transaction history
  • Search and filter transactions
  • Dashboard with financial summary
  • Charts for data visualization

Technologies Used

  • Python (Flask)
  • SQLite
  • HTML, CSS
  • JavaScript
  • Chart.js

Project Structure

  • app.py Main application file containing all routes and logic.

  • helpers.py Contains helper functions such as login_required.

  • schema.sql Database schema defining users and transactions tables.

  • templates/ Contains all HTML files (login, register, dashboard, transactions, etc.).

  • static/ Contains CSS, JavaScript, and other static assets.

How to Run

  1. Install dependencies:

    pip install flask
    
  2. Set environment variables (optional):

    export FLASK_APP=app.py
    export FLASK_ENV=development
    
  3. Run the application:

    flask run
    
  4. Open your browser and go to:

    http://127.0.0.1:5000
    

Design Choices

This project focuses on simplicity and usability. The goal was to create a clean interface where users can easily manage their finances without unnecessary complexity.

Flask was chosen for its simplicity and flexibility. SQLite was used as the database because it is lightweight and easy to integrate. Chart.js was used to provide visual insights into financial data.

Authentication is implemented to ensure that each user can only access their own data.

Conclusion

This project demonstrates core concepts learned in CS50, including routing, database interaction, authentication, and front-end integration. It provides a practical tool for managing personal finances while showcasing full-stack development skills.

About

Personal Finance Tracker is a web application built with Flask that helps users manage their personal finances in a simple and efficient way. The application allows users to register, log in securely, and keep track of their income and expenses.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages