Skip to content
SAILESH4406Public

About

FinSight is a real-time personal finance management platform built using a microservices architecture. It enables users to securely manage transactions, monitor budgets, visualize spending patterns, and receive intelligent financial insights through live analytics.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

💰 FinSight

Track. Analyze. Optimize.

FinSight is a real-time personal finance management platform built using a microservices architecture. It enables users to securely manage transactions, monitor budgets, visualize spending patterns, and receive intelligent financial insights through live analytics.


🚀 Features

🔐 Authentication

  • JWT-based Authentication
  • User Registration & Login
  • Protected Routes

💳 Transaction Management

  • Add, Edit & Delete Transactions
  • Income & Expense Tracking
  • Real-time Dashboard Updates
  • Input Validation
  • CSV Export

📊 Analytics Dashboard

  • Net Savings
  • Total Income
  • Total Spending
  • Transaction Count
  • Spending Breakdown (Pie Chart)
  • Monthly Trends
  • Top Spending Categories

🎯 Budget Management

  • Create Monthly Budgets
  • Live Budget Utilization
  • Overspending Detection
  • Budget Progress Tracking

🔔 Financial Alerts

Automatically generated insights such as:

  • Budget exceeded
  • Budget nearing limit
  • High spending alerts
  • Largest expense
  • Top spending category
  • Healthy savings rate
  • Negative balance detection

Alerts automatically disappear once the condition is no longer true.

⚡ Real-Time Updates

  • Kafka Event Streaming
  • Socket.IO Live Dashboard Updates
  • Redis Cache Invalidation
  • Instant Analytics Refresh

🏗 Architecture

                    React Frontend
                           │
                           │
                   API Requests (JWT)
                           │
        ┌──────────────────┴─────────────────┐
        │                                    │
 Authentication Service          Analytics Service
        │                                    │
        │                                    │
 PostgreSQL Database                 Redis Cache
        │
        │
 Kafka Producer  ─────────────► Kafka Consumer
                           │
                           ▼
                  Analytics Processing

🛠 Tech Stack

Frontend

  • React
  • React Router
  • Axios
  • Tailwind CSS
  • Framer Motion
  • Recharts
  • Socket.IO Client

Backend

  • Node.js
  • Express.js
  • PostgreSQL
  • Redis
  • Apache Kafka
  • Socket.IO
  • JWT Authentication

DevOps

  • Docker
  • Docker Compose

📂 Project Structure

ledger-system/

│
├── dashboard/
│   └── React Frontend
│
├── services/
│   ├── auth-service/
│   ├── transaction-service/
│   └── analytics-service/
│
├── packages/
│
├── infra/
│
├── docker-compose.yaml
│
└── README.md

⚙ Microservices

Authentication Service

Responsible for:

  • User Registration
  • Login
  • JWT Token Generation
  • Authorization Middleware

Transaction Service

Responsible for:

  • CRUD Transactions
  • Publishing Kafka Events
  • Transaction Validation

Analytics Service

Responsible for:

  • Dashboard Analytics
  • Budget Analysis
  • Financial Alerts
  • Charts
  • Redis Caching
  • Kafka Consumer
  • Real-time Updates

⚡ Event-Driven Architecture

Whenever a transaction is created:

Transaction Created
        │
        ▼
Kafka Producer
        │
        ▼
Kafka Topic
        │
        ▼
Analytics Consumer
        │
        ▼
Update Analytics
        │
        ▼
Clear Redis Cache
        │
        ▼
Socket.IO Broadcast
        │
        ▼
Frontend Updates Instantly

📈 Dashboard

The dashboard provides:

  • Net Savings
  • Total Income
  • Total Spending
  • Total Transactions
  • Spending Distribution
  • Recent Transactions
  • Budget Status
  • Financial Alerts

🔔 Smart Financial Alerts

FinSight continuously evaluates financial data and generates contextual alerts, including:

  • Budget utilization above 80%
  • Budget exceeded
  • Largest recorded expense
  • Negative account balance
  • Spending exceeding 90% of income
  • Highest spending category
  • Strong savings performance

Alerts are generated dynamically based on the user's latest financial activity.


🔐 Security

  • JWT Authentication
  • Protected REST APIs
  • User-specific Data Isolation
  • Input Validation
  • Secure Password Hashing

🚀 Running Locally

Clone Repository

git clone https://github.com/<your-username>/FinSight.git

Install Dependencies

npm install

Start Docker Services

docker compose up

Start Backend Services

npm run dev

Start Frontend

cd dashboard
npm install
npm run dev

🎯 Future Improvements

  • AI-powered financial advisor
  • OCR receipt scanning
  • Email notifications
  • Mobile application
  • Multi-currency support
  • Predictive spending analytics

About

FinSight is a real-time personal finance management platform built using a microservices architecture. It enables users to securely manage transactions, monitor budgets, visualize spending patterns, and receive intelligent financial insights through live analytics.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages