Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

53 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’° FinSentry

AI-powered Personal Finance Intelligence Platform built with the MERN Stack.

FinSentry helps users effortlessly manage their finances by combining AI-powered receipt processing, transaction management, financial analytics, and automated monthly reports into a single modern workspace.

Unlike traditional expense trackers that require manual data entry, FinSentry leverages Google Gemini AI to intelligently extract, categorize, and organize expenses from receipt images while giving users complete control before importing them.


πŸš€ Live Demo

🌐 Application: https://finsentry-eta.vercel.app


✨ Features

πŸ” Authentication

  • JWT Authentication
  • Protected Routes
  • Persistent Login
  • Secure API Access

πŸ’³ Transaction Management

  • Add / Edit / Delete Transactions
  • Bulk Delete
  • Smart Search
  • Advanced Filters
  • Pagination
  • Category Management
  • Payment Methods
  • Recurring Transactions

πŸ€– AI Receipt Intelligence

Upload a receipt image and let Gemini AI automatically

  • Detect purchased items
  • Extract prices
  • Categorize expenses
  • Generate editable transaction drafts

Supports receipts containing multiple expense categories.

Example

Milk          β‚Ή80
Medicine     β‚Ή250
Shirt        β‚Ή799

↓

Grocery      β‚Ή80
Healthcare   β‚Ή250
Shopping     β‚Ή799

Every extracted transaction can be reviewed before saving.


πŸ“Š Analytics Dashboard

Interactive dashboard featuring

  • Total Income
  • Total Expenses
  • Balance
  • Savings Rate
  • Cash Flow Trends
  • Expense Breakdown
  • Recent Transactions

πŸ“‚ CSV Import

Bulk upload transactions using CSV files.


πŸ“§ AI Monthly Reports

Generate AI-powered monthly financial summaries and send them directly to users via email.


πŸ’‘ Why FinSentry?

Traditional expense trackers require users to manually enter every transaction, making personal finance management repetitive and time-consuming.

FinSentry simplifies this process through AI-powered automation while ensuring users remain in complete control of their financial data.

The project was built with a production-oriented backend architecture focusing on modularity, scalability, validation, and clean API design.


πŸ—οΈ System Architecture

                           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                           β”‚     React Client     β”‚
                           β”‚   Dashboard & UI     β”‚
                           β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                      β”‚
                               Axios HTTP Client
                                      β”‚
                                      β–Ό
                           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                           β”‚    Express Server    β”‚
                           β”‚  REST API Layer      β”‚
                           β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
                           β”‚ Authentication       β”‚
                           β”‚ Validation (Zod)     β”‚
                           β”‚ Controllers          β”‚
                           β”‚ Business Services    β”‚
                           β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                      β”‚
             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
             β–Ό               β–Ό                  β–Ό            β–Ό
         MongoDB        Gemini AI        Cloudinary      Node Cron
             β”‚                                               β”‚
             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                            β–Ό
                                      Resend Email API

πŸ€– AI Receipt Processing Workflow

Receipt Image

      β”‚

      β–Ό

Cloudinary Upload

      β”‚

      β–Ό

Gemini AI Processing

      β”‚

      β–Ό

Extract Items & Prices

      β”‚

      β–Ό

Automatic Categorization

      β”‚

      β–Ό

Generate Transaction Drafts

      β”‚

      β–Ό

User Review & Approval

      β”‚

      β–Ό

MongoDB Storage

βš™οΈ Engineering Highlights

Authentication

  • JWT-based authentication
  • Protected API routes
  • Persistent sessions

Validation

  • Zod request validation
  • Centralized error handling
  • Input sanitization

Backend Architecture

  • Controller-Service pattern
  • Modular route organization
  • Reusable middleware
  • Clean REST API design

File Processing

  • Secure image uploads
  • Cloudinary integration
  • AI-powered receipt parsing

Scheduled Jobs

  • Monthly financial reports
  • Automated email delivery using Node Cron + Resend

πŸ“‚ Project Structure

finsentry
β”‚
β”œβ”€β”€ client
β”‚   β”œβ”€β”€ components
β”‚   β”œβ”€β”€ context
β”‚   β”œβ”€β”€ hooks
β”‚   β”œβ”€β”€ layouts
β”‚   β”œβ”€β”€ pages
β”‚   β”œβ”€β”€ routes
β”‚   └── utils
β”‚
└── server
    β”œβ”€β”€ config
    β”œβ”€β”€ controllers
    β”œβ”€β”€ middleware
    β”œβ”€β”€ models
    β”œβ”€β”€ routes
    β”œβ”€β”€ services
    β”œβ”€β”€ validators
    └── utils

πŸ›  Tech Stack

Frontend

  • React
  • Vite
  • JavaScript
  • Tailwind CSS
  • React Router
  • Axios
  • Context API
  • React Hot Toast
  • Recharts

Backend

  • Node.js
  • Express.js
  • MongoDB
  • Mongoose
  • JWT
  • Zod
  • Multer
  • Node Cron

Third-Party Services

  • Google Gemini AI
  • Cloudinary
  • Resend

πŸš€ Getting Started

Clone Repository

git clone https://github.com/anupam-devcodes/finsentry.git

Backend

cd server
npm install
npm run dev

Frontend

cd client
npm install
npm run dev

πŸ”‘ Environment Variables

PORT=

MONGO_URI=

JWT_SECRET=
JWT_EXPIRES_IN=

CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=

GEMINI_API_KEY=
GEMINI_MODEL=

RESEND_API_KEY=
RESEND_FROM_EMAIL=

CLIENT_URL=

🌐 API Overview

The backend follows a RESTful architecture with dedicated modules for

  • Authentication
  • User Management
  • Transactions
  • Receipt Processing
  • Analytics
  • Reports

The API is organized using the Controller-Service pattern for improved maintainability and scalability.


πŸš€ Future Improvements

  • Avatar Upload
  • Budget Planning
  • Financial Goals
  • Multi-Currency Support
  • Spending Predictions
  • AI Budget Recommendations
  • Mobile PWA
  • Dark Mode
  • OCR Fallback for Low-Quality Receipts

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

Anupam Choubey

GitHub: https://github.com/anupam-devcodes


If you found this project helpful, consider giving it a ⭐.

About

AI-powered personal finance analytics platform built with the MERN stack, featuring transaction tracking, intelligent dashboards, receipt scanning, CSV imports, recurring transactions, and automated financial insights.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages