Skip to content

Ayush5071/paissa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’° Paissa - Progressive Financial Management Platform

A modern, AI-powered financial platform built with Next.js 14

Next.js TypeScript MongoDB Tailwind CSS License

Live Demo β€’ Documentation β€’ Report Bug β€’ Request Feature

πŸš€ Overview

Paissa is a progressive 3-stage financial management platform that grows with your financial literacy. From basic transaction tracking to AI-powered budget insights, each stage builds upon the previous one to create a comprehensive financial ecosystem.

✨ Key Features

  • πŸ“Š Stage 1: Complete transaction management with CRUD operations
  • πŸ“ˆ Stage 2: Interactive analytics with beautiful charts and insights
  • πŸ€– Stage 3: AI-powered budget recommendations using Google Gemini
  • πŸŒ™ Dark/Light Theme: Seamless theme switching with persistence
  • πŸ“± Responsive Design: Mobile-first approach with modern UI
  • ⚑ Real-time Updates: Live data synchronization across components
  • πŸ”’ Secure: MongoDB integration with proper data validation

πŸ› οΈ Tech Stack

Frontend

  • Framework: Next.js 14 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS
  • Animations: Framer Motion
  • Charts: Chart.js + React Chart.js 2
  • Forms: React Hook Form + Zod validation
  • Icons: Lucide React

Backend

  • Runtime: Node.js (Next.js API Routes)
  • Database: MongoDB with Mongoose ODM
  • AI Integration: Google Gemini API
  • Validation: Zod schemas
  • Date Handling: date-fns

πŸ“‹ Prerequisites

Before running this project, ensure you have:

  • Node.js 18.0 or higher
  • npm or yarn package manager
  • MongoDB database (local or cloud)
  • Google Gemini API key (optional, for AI features)

πŸš€ Quick Start

1. Clone the Repository

git clone https://github.com/Ayush5071/paissa.git
cd paissa

2. Install Dependencies

npm install

3. Environment Setup

Create a .env.local file in the root directory:

# Database
MONGO_URI=mongodb+srv://username:password@cluster.mongodb.net/paissa

# AI Features (Optional)
GEMINI_API_KEY=your_google_gemini_api_key

# Next.js
NEXTAUTH_SECRET=your_secret_key
NEXTAUTH_URL=http://localhost:3000

4. Run Development Server

npm run dev

Open http://localhost:3000 to view the application.

πŸ“– Usage Guide

Stage 1: Transaction Tracking

  1. Navigate to the Dashboard
  2. Add new transactions using the form
  3. View, edit, or delete existing transactions
  4. Monitor monthly spending patterns

Stage 2: Analytics & Insights

  1. Access the Analytics section
  2. View category-wise spending breakdown
  3. Analyze monthly trends with interactive charts
  4. Review dashboard summary metrics

Stage 3: AI-Powered Budgeting

  1. Go to the Budgets page
  2. Set monthly budgets for different categories
  3. Compare actual vs budgeted spending
  4. Get AI-powered recommendations and insights

πŸ“ Project Structure

paissa/
β”œβ”€β”€ πŸ“ app/                    # Next.js 14 App Router
β”‚   β”œβ”€β”€ πŸ“ about/             # About page
β”‚   β”œβ”€β”€ πŸ“ api/               # API routes
β”‚   β”‚   β”œβ”€β”€ πŸ“ analytics/     # Analytics endpoints
β”‚   β”‚   β”œβ”€β”€ πŸ“ budgets/       # Budget CRUD
β”‚   β”‚   β”œβ”€β”€ πŸ“ insights/      # AI insights
β”‚   β”‚   └── πŸ“ transactions/  # Transaction CRUD
β”‚   β”œβ”€β”€ πŸ“ budgets/           # Budget management page
β”‚   β”œβ”€β”€ πŸ“ dashboard/         # Main dashboard
β”‚   β”œβ”€β”€ layout.tsx            # Root layout
β”‚   β”œβ”€β”€ page.tsx              # Home page
β”‚   └── globals.css           # Global styles
β”œβ”€β”€ πŸ“ components/            # React components
β”‚   β”œβ”€β”€ πŸ“ budgets/          # Budget-related components
β”‚   β”œβ”€β”€ πŸ“ charts/           # Chart components
β”‚   β”œβ”€β”€ πŸ“ dashboard/        # Dashboard components
β”‚   β”œβ”€β”€ πŸ“ insights/         # AI insights components
β”‚   β”œβ”€β”€ πŸ“ sections/         # Page sections
β”‚   β”œβ”€β”€ πŸ“ transactions/     # Transaction components
β”‚   └── Navbar.tsx           # Navigation component
β”œβ”€β”€ πŸ“ contexts/             # React contexts
β”œβ”€β”€ πŸ“ hooks/                # Custom React hooks
β”œβ”€β”€ πŸ“ lib/                  # Utility libraries
β”œβ”€β”€ πŸ“ models/               # Database schemas
β”œβ”€β”€ πŸ“ public/               # Static assets
└── package.json             # Dependencies

πŸ”§ API Reference

Transactions

Method Endpoint Description
GET /api/transactions Get all transactions
POST /api/transactions Create new transaction
PUT /api/transactions/[id] Update transaction
DELETE /api/transactions/[id] Delete transaction

Budgets

Method Endpoint Description
GET /api/budgets Get budgets by month/year
POST /api/budgets Create new budget
PUT /api/budgets/[id] Update budget
DELETE /api/budgets/[id] Delete budget

Analytics

Method Endpoint Description
GET /api/analytics/dashboard Get dashboard summary
GET /api/analytics/monthly Get monthly spending data
GET /api/analytics/categories Get category breakdown
GET /api/analytics/budgets Get budget analytics

AI Insights

Method Endpoint Description
GET /api/insights/budget-suggestions Get AI budget recommendations

πŸ€– AI Features

The platform integrates with Google Gemini for intelligent budget recommendations:

  • Spending Pattern Analysis: Identifies trends and anomalies
  • Budget Optimization: Suggests optimal budget allocations
  • Risk Assessment: Evaluates financial health and risks
  • Personalized Insights: Provides actionable recommendations
  • Fallback Logic: Rule-based suggestions when AI is unavailable

πŸš€ Deployment

Vercel (Recommended)

  1. Push code to GitHub
  2. Connect repository to Vercel
  3. Add environment variables in Vercel dashboard
  4. Deploy automatically on push

Environment Variables for Production

MONGO_URI=your_production_mongodb_uri
GEMINI_API_KEY=your_gemini_api_key
NEXTAUTH_SECRET=your_production_secret
NEXTAUTH_URL=https://your-domain.com

πŸ§ͺ Testing

Use the included test script to verify API endpoints:

# Open browser console and run:
node test-api.js

🀝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

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

Ayush Tiwari

πŸ† Recent Achievements

  • Hack36 - CC MNNIT: 9th place among 100+ teams (2025)
  • Innodev - ES MNNIT: 1st place among 100+ teams (2025)
  • Dev or Die - MNNIT: 1st place among 50+ teams (2024)
  • Quintathlon - ES MNNIT: 3rd place (2024)

πŸ“„ License

This project is licensed under the MIT License.


Made with ❀️ by Ayush Tiwari

⭐ Star this repository if you found it helpful!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages