An open API service indexing awesome lists of open source software.

https://github.com/sugapriya-k/final-year-project

An AI-powered personal finance tracker to manage expenses, predict spending, and plan budgets using machine learning.
https://github.com/sugapriya-k/final-year-project

ai budget-tracker data-visualization final-year-project finbert gradient-boosting-decision-tree lstm ml personal-finance-manager postgresql prophet-model python stanza web-speech-api

Last synced: about 2 months ago
JSON representation

An AI-powered personal finance tracker to manage expenses, predict spending, and plan budgets using machine learning.

Awesome Lists containing this project

README

          

# ๐ŸŽ“ Final Year Project: AI-Powered Personal Finance Tracker

A Smart, AI-driven platform for modern personal finance management โ€” combining voice input, receipt scanning, machine learning, and predictive analytics to help users take control of their financial future.

---

## ๐Ÿ“˜ Abstract

In today's fast-paced digital world, many individuals struggle with managing their finances due to the limitations of traditional budgeting tools and manual tracking. Our project โ€” **AI-Powered Personal Finance Tracker** โ€” presents an intelligent, accessible, and bank-independent solution for effortless financial management.

This platform uses cutting-edge technologies like **Tesseract OCR** for extracting transaction data from receipts, **FinBERT NLP** for intelligent expense categorization, and supports **voice-based transaction logging** via the **Web Speech API** and **Stanza**. For smarter budgeting and forecasting, it integrates **Gradient Boosted Decision Trees**, **Prophet**, and **LSTM models**.

Key modules include **Group Expense Management** for shared finances, and **Celery-based Reminders** to notify users about bills. The system is built with a **Django backend** and a responsive **HTML + Tailwind CSS** frontend.

---

## ๐Ÿš€ Key Features

- ๐Ÿงพ **Receipt Scanning:** Extract transaction data using Tesseract OCR.
- ๐Ÿ—ฃ๏ธ **Voice Logging:** Add expenses using voice input with Web Speech API and Stanza.
- ๐Ÿ“Š **Smart Categorization:** FinBERT classifies expenses into intelligent categories.
- ๐Ÿ“ˆ **Forecasting Engine:** Uses Prophet + LSTM for financial trend prediction.
- ๐Ÿ’ฐ **AI Budgeting:** Gradient Boosted Decision Trees generate budget suggestions.
- ๐Ÿ‘ฅ **Group Expenses:** Track and manage shared spending with others.
- โฐ **Bill Reminders:** Scheduled reminders using Celery and Redis.
- ๐Ÿ–ฅ๏ธ **Dashboard:** Visualizes spending, forecasts, and trends for informed decisions.
- ๐Ÿ” **Authentication:** Session-based login system ensures secure access.

---

## ๐Ÿ› ๏ธ Tech Stack

| Layer | Technologies Used |
|--------------|------------------------------------------------------------------------------------|
| Frontend | HTML5, Tailwind CSS, JavaScript, Web Speech API |
| Backend | Python, Django, Celery, Redis, SQLite |
| AI & ML | Tesseract OCR, FinBERT (NLP), Stanza (NLP), Gradient Boosted Trees, Prophet, LSTM | |
| Auth | Django Sessions |

---

## ๐Ÿ“‚ Folder Structure (Simplified)

Final-Year-Project/
โ”œโ”€โ”€ finance_tracker/ # Django project folder
โ”œโ”€โ”€ templates/ # HTML templates
โ”œโ”€โ”€ static/ # Tailwind CSS, JS, images
โ”œโ”€โ”€ receipts/ # Uploaded receipt images
โ”œโ”€โ”€ models/ # Trained ML models (Pickle format)
โ”œโ”€โ”€ celery.py # Task scheduling setup
โ”œโ”€โ”€ requirements.txt # Dependencies
โ””โ”€โ”€ README.md # Project documentation

---

## โš™๏ธ Setup Instructions

1. **Clone the Repository**
```bash
git clone https://github.com/sugapriya-k/Final-Year-Project.git
cd Final-Year-Project
2. **Create Virtual Environment**
```bash
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate

3. **Install Requirements**
```bash
pip install -r requirements.txt

4. **Run Redis Server**
```bash
redis-server

5. **Start Celery Worker**
```bash
celery -A finance_tracker worker --loglevel=info

6. **Run Django Server**
```bash
python manage.py migrate
python manage.py runserver