Skip to content

Nesar976/Personal-Finance-Intelligence-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Personal Finance Intelligence System

Personal Finance Intelligence System

A complete, production-ready full-stack application designed to help users intelligently manage their personal finances through tracking, budgeting, and actionable analytics.

πŸš€ Features

  • Authentication: Secure JWT-based login and registration.
  • Dashboard: At-a-glance net worth tracking and visual analytics.
  • Transaction Management: Add, edit, delete, and categorize income and expenses.
  • Budget Tracking: Set monthly limits and monitor category-specific spending.
  • Goal Setting: Define savings goals and visually track your progress.
  • Wealth & Assets: Track assets and liabilities for a complete financial picture.
  • Analytics Engine: Deep dive into spending habits, savings rates, and cash flow via MongoDB aggregation pipelines.

πŸ› οΈ Tech Stack

Frontend (Client)

  • Framework: React (Vite) with TypeScript
  • Styling: Tailwind CSS
  • Charting: Recharts
  • State Management: React Context / Custom Hooks
  • Form Handling: React Hook Form + Zod
  • API Client: Axios

Backend (Server)

  • Environment: Node.js
  • Framework: Express.js
  • Database: MongoDB (with Mongoose ODM)
  • Authentication: JWT (JSON Web Tokens)
  • Security: Helmet, Express Rate Limit, Cookie-parser, bcrypt

βš™οΈ Setup Instructions

Prerequisites

  • Node.js (v18+ recommended)
  • MongoDB (Running locally or via MongoDB Atlas)
  • Docker (optional, for local DB)

1. Clone the repository

git clone https://github.com/your-username/Personal-Finance-Intelligence-System.git
cd Personal-Finance-Intelligence-System

2. Run MongoDB locally via Docker (Optional)

docker-compose up -d

3. Backend Setup

cd server
npm install
cp .env.example .env
# Edit .env to add your MongoDB URI and JWT Secret
npm run dev

4. Frontend Setup

cd ../client
npm install
cp .env.example .env
# Edit .env to add your VITE_API_URL (Default: http://localhost:5001/api)
npm run dev

πŸ” Environment Variables

Backend (server/.env)

PORT=5001
NODE_ENV=development
MONGO_URI=mongodb://localhost:27017/finance_db
JWT_SECRET=your_jwt_secret_here
JWT_EXPIRES_IN=30d

Frontend (client/.env)

VITE_API_URL=http://localhost:5001/api

πŸ“‘ API Documentation

Method Endpoint Description Auth Required
POST /api/auth/register Register a new user No
POST /api/auth/login Login user No
GET /api/auth/me Get current user profile Yes
GET /api/transactions Get all transactions Yes
POST /api/transactions Add a new transaction Yes
GET /api/budgets Get budget tracking Yes
GET /api/goals Get all financial goals Yes
GET /api/networth Get overall net worth history Yes
GET /api/analytics Get category breakdown & cash flow Yes

πŸ“Έ Screenshots

(Add your screenshots here)

Dashboard

Dashboard Screenshot Placeholder

Transactions

Transactions Screenshot Placeholder


🚒 Deployment Guide

Deploying Frontend to Vercel

  1. Go to Vercel and import the repository.
  2. Select the client folder as the Root Directory.
  3. Framework Preset: Vite.
  4. Add the VITE_API_URL environment variable pointing to your deployed backend.
  5. Click Deploy.

Deploying Backend to Render

  1. Go to Render and create a new Web Service.
  2. Connect your GitHub repository.
  3. Set the Root Directory to server.
  4. Environment: Node.
  5. Build Command: npm install.
  6. Start Command: npm start.
  7. Add Environment Variables (MONGO_URI, JWT_SECRET, PORT, NODE_ENV).
  8. Click Create Web Service.

🀝 Contributing

See CONTRIBUTING.md for details on how to contribute.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Releases

No releases published

Packages

 
 
 

Contributors