- 1. Frontend: React + TypeScript + Next.js
- 2. Backend: Node.js + NestJS
- Auth Module – login, register, sessions
- Transaction Module – income, expense, transfers
- Budget & Categories Module
- Goals & Savings Module
- Analytics Module – graphs, monthly reports
- User Profile & Settings
- Learn basics of Next.js + TypeScript
- Learn Node.js, NestJS
- Learn PostgreSQL + Prisma ORM
- Set up API routes
- Build data models with Prisma
- Add authentication
- Implement role-based access (future-proof)
- Build UI layout
- Dashboard with charts
- Input forms for transactions
- Data tables with filtering & sorting
- Monthly spending summaries
- Heatmaps and trend visualizations
- CSV/XLSX export
- Deploy DB → Supabase
- Deploy frontend → Vercel
- Deploy backend (if separate) → Render / Railway
- CI/CD pipeline
- Create GitHub repo
- Add README, architecture docs
- Add issues, contribution guidelines
| Layer | Technology |
|---|---|
| Frontend | React, TypeScript, Next.js, Tailwind, Recharts |
| Backend | Node.js + NestJS (or Express), TypeScript |
| API | REST |
| Database | PostgreSQL + Prisma ORM |
| Auth | NextAuth.js |
| Deployment | Vercel + Supabase / Railway |
| Extra Tools | Docker, Redis, BullMQ |
paisa/
├── apps/
│ ├── frontend/ # Next.js + TypeScript
│ │ ├── public/
│ │ ├── src/
│ │ │ ├── app/ # Next.js App Router
│ │ │ ├── components/
│ │ │ ├── hooks/
│ │ │ ├── lib/
│ │ │ ├── styles/
│ │ │ ├── utils/
│ │ │ └── types/
│ │ ├── package.json
│ │ └── tsconfig.json
│ │
│ ├── backend/ # Node.js + NestJS (or Express)
│ │ ├── src/
│ │ │ ├── modules/
│ │ │ │ ├── auth/
│ │ │ │ ├── user/
│ │ │ │ ├── transactions/
│ │ │ │ ├── categories/
│ │ │ │ ├── budgets/
│ │ │ │ └── analytics/
│ │ │ ├── common/
│ │ │ ├── prisma/
│ │ │ ├── main.ts
│ │ │ └── app.module.ts
│ │ ├── package.json
│ │ └── tsconfig.json
│
├── prisma/
│ ├── schema.prisma
│ └── migrations/
│
├── docker/
│ ├── docker-compose.yml
│ └── backend.Dockerfile
│
├── docs/
│ ├── architecture-diagram.png
│ ├── er-diagram.png
│ ├── api-contract.md
│ └── contribution-guide.md
│
├── .env.example
├── package.json
├── README.md
└── LICENSE- Responsible for UI, forms, charts, dashboards
- Communicates to backend via REST API
- Authentication
- Transactions CRUD
- Budgets
- Analytics calculations
- Report generation
- Stores all user, transactions, categories, budget, goals
- Redis (optional) → caching analytics
- Cron Jobs → daily summaries
- Cloud Storage (Supabase Storage/S3) for file exports
- Create monorepo structure
- Initialize Next.js frontend
- Initialize NestJS backend
- Set up PostgreSQL (local or Dockerized)
- Create
schema.prisma - Configure Prisma client in backend
- Define .env setup
- Implement JWT auth (or NextAuth)
- Register / Login / Logout APIs
- Protect API routes
- Add login & register pages
- Create Category CRUD
- Create Transaction CRUD
- Filter transactions by date/category/type
- Implement pagination
- Add transaction creation UI
- Budget creation UI
- Show budget progress bar
- Show remaining budget
- Goal setting and progress tracking
- Monthly income/expense summary
- Bar charts, line charts, pie charts
- Spending trends
- Category breakdown
- Automated analytics API
- Export reports (CSV/XLSX)
- Unit tests (Jest)
- Integration tests
- Frontend tests (Playwright)
- Cleanup & code refactor
- Deploy backend to Render/Railway
- Deploy frontend to Vercel
- Deploy PostgreSQL to Supabase/Neon
- Add CI/CD GitHub Actions
- User authentication
- Add/edit/delete transactions
- Categories management
- Monthly summary
- Dashboard charts (pie, bar, line)
- Budgets
- Export CSV
- Dark mode
- Responsive UI
- Goals & savings planner
- Recurring transactions
- Notifications
- AI-based spending insights
- Multi-wallet support
- Bank sync API (Plaid, future)
- Setup monorepo
- Initialize frontend (Next.js)
- Initialize backend (NestJS)
- Docker environment
- Database connection
- Prisma schema base
- Register API
- Login API
- JWT middleware
- Login UI
- Protect routes UI/backend
- Category model
- Create CRUD API
- Category listing page UI
- Transaction model
- CRUD API
- Transaction form UI
- Filtering & sorting
- Analytics API
- Monthly summary
- Pie chart (categories)
- Line chart (trend)
- Total balance widget
- Budget module backend
- Budget progress UI
- Goals CRUD & tracker
- CSV export
- User settings
- Currency options
- Deploy backend
- Deploy frontend
- CI/CD
- Final documentation
| Phase | Duration | Description |
|---|---|---|
| Planning | 2–3 days | Architecture, ERD, setup |
| Foundation | Week 1 | Repo setup, DB, Prisma |
| Auth | Week 2 | User system |
| Core Features | Week 3–4 | Transactions, categories, budgets |
| Analytics | Week 5–6 | Charts, insights |
| Testing | Week 7 | Unit + integration |
| Deployment | Week 8 | Deploy & release |
| Open-source Launch | Post-launch | Documentation, issues, community |