Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Pratham1603/Finsight.AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧭 Finsight: Personal Finance AI Assistant

A full-stack, AI-powered financial dashboard to help users track spending, forecast future expenses, and receive intelligent recommendations for managing their money.


Overview

Finsight is a modern web application built on a microservice architecture. It combines a sleek React frontend with two powerful backends: a Node.js server for core user authentication and transaction management, and a dedicated Python API for all machine learning models.

This system allows users to not only visualize their financial data but also interact with it, asking natural language questions (e.g., "How much did I spend on food?") and receiving AI-driven insights to improve their financial health.

πŸš€ Key Features

🌐 Frontend (React + Vite)

  • Modern UI: Built with React, TypeScript, and shadcn-ui for a clean, responsive user experience.
  • Fast & Responsive: Styled with TailwindCSS and powered by Vite for near-instant builds.
  • Multi-Page Dashboard: Full routing for different sections like Dashboard, Transactions, and AI Insights.
  • Data Visualization: (You can add this) Charts and graphs to visualize spending.

βš™οΈ Backend (Node.js + Express)

  • Core API: Handles secure user registration, login (JWT), and all CRUD operations for financial transactions.
  • Database: Integrated with MongoDB for flexible and scalable data storage.
  • Security: Implements password hashing (bcryptjs) and protected routes.

🧠 Machine Learning (Python + FastAPI)

  • NLP Query Parser: A spaCy-based model that understands natural language queries for spending.
  • Forecasting Model: A time-series model using Prophet to predict future spending.
  • Recommendation Engine: A rule-based engine that provides actionable financial advice.
  • High-Performance API: All models are served via a high-speed FastAPI server.

πŸ› οΈ Tech Stack

React Vite TypeScript Node.js FastAPI Python MongoDB spaCy TailwindCSS


🧩 System Architecture

This project uses a microservice architecture to separate concerns. The React frontend communicates with both the Node.js backend (for user/transaction data) and the FastAPI backend (for AI insights).

(Tip: You can create a simple diagram using a tool like Excalidraw and follow the steps in the "How to Add Photos" section below to add it here.)

Architecture Diagram Placeholder


πŸš€ Setup and Installation

To run this project locally, you must run all three services in separate terminals.

1. Clone the repository

git clone [https://github.com/pranayb1256/Finsight.git](https://github.com/pranayb1256/Finsight.git)
cd Finsight

2. Run the React Frontend

# Go to the frontend directory
cd frontend

# Install dependencies
npm install

# Run the development server
npm run dev

Frontend will be live at http://localhost:5173

3. Run the Node.js Backend

# Go to the backend directory
cd backend

# Install dependencies
npm install

# Create a .env file and add your MongoDB URI
# (You will need to create this file)
echo "MONGO_URI=your_mongodb_connection_string_here" > .env

# Run the server
npm run start

Node.js API will be live at http://localhost:5000 (or your configured port)

4. Run the Python ML-API

# Go to the ML API directory
cd ml-api

# Create and activate a virtual environment
python -m venv venv
source venv/Scripts/activate  # On Windows Git Bash
# .\venv\Scripts\activate     # On Windows CMD/PowerShell
# source venv/bin/activate    # On Mac/Linux

# Install the spaCy language model
python -m spacy download en_core_web_sm

# Install Python dependencies
pip install -r requirements.txt

# Run the ML server
python main.py

FastAPI ML-API will be live at http://localhost:8000. You can test it at http://localhost:8000/docs.


🧠 Machine Learning Models

This project features three distinct machine learning/AI models:

  1. NLP Query Parser:

    • Goal: To understand user queries like "how much did I spend on food?".
    • Model: Uses spaCy for Named Entity Recognition (to find "food") and keyword matching to determine the user's intent (e.g., "get_spending").
  2. Spending Forecaster:

    • Goal: To predict the user's total spending for the next 30 days.
    • Model: Uses Prophet, a time-series forecasting model, to analyze past spending patterns and project them into the future.
  3. Recommendation Engine:

    • Goal: To provide actionable advice to the user.
    • Model: A rule-based engine that analyzes spending habits (e.g., "high subscription spending") and provides specific, high-priority recommendations.

πŸ–ΌοΈ Screenshots

(This is the most important section to add! Follow the guide below to add your own screenshots.)


πŸ‘¨β€πŸ’» Contributors

This project was built by:

  • Pranay B. - *Backend *
  • Pratham H. - ML API
  • [Your Name Here] - Frontend Development
  • [Teammate Name Here] - Node.js Backend

πŸ“œ License

This project is licensed under the MIT License.

About

This is an miniproject of semV

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors