A complete, production-ready full-stack application designed to help users intelligently manage their personal finances through tracking, budgeting, and actionable analytics.
- 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.
- 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
- Environment: Node.js
- Framework: Express.js
- Database: MongoDB (with Mongoose ODM)
- Authentication: JWT (JSON Web Tokens)
- Security: Helmet, Express Rate Limit, Cookie-parser, bcrypt
- Node.js (v18+ recommended)
- MongoDB (Running locally or via MongoDB Atlas)
- Docker (optional, for local DB)
git clone https://github.com/your-username/Personal-Finance-Intelligence-System.git
cd Personal-Finance-Intelligence-Systemdocker-compose up -dcd server
npm install
cp .env.example .env
# Edit .env to add your MongoDB URI and JWT Secret
npm run devcd ../client
npm install
cp .env.example .env
# Edit .env to add your VITE_API_URL (Default: http://localhost:5001/api)
npm run devPORT=5001
NODE_ENV=development
MONGO_URI=mongodb://localhost:27017/finance_db
JWT_SECRET=your_jwt_secret_here
JWT_EXPIRES_IN=30dVITE_API_URL=http://localhost:5001/api| 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 |
(Add your screenshots here)
- Go to Vercel and import the repository.
- Select the
clientfolder as the Root Directory. - Framework Preset:
Vite. - Add the
VITE_API_URLenvironment variable pointing to your deployed backend. - Click Deploy.
- Go to Render and create a new Web Service.
- Connect your GitHub repository.
- Set the Root Directory to
server. - Environment:
Node. - Build Command:
npm install. - Start Command:
npm start. - Add Environment Variables (
MONGO_URI,JWT_SECRET,PORT,NODE_ENV). - Click Create Web Service.
See CONTRIBUTING.md for details on how to contribute.
This project is licensed under the MIT License - see the LICENSE file for details.