keerthi-10
v1.0.0
Published
A full-stack personal finance management application with expense tracking, budgeting, income tracking, and bank integration.
Readme
WealthWise - Personal Finance Management App
A full-stack personal finance management application with expense tracking, budgeting, income tracking, and bank integration.
Features
- 💰 Expense Management (Import from bank, Edit, Delete, Export)
- 📊 Budget Planning (Monthly/Weekly budgets)
- 💵 Income Tracking
- 🎯 Financial Goals
- 💎 Savings Account
- 🔄 Recurring Expenses
- 🏦 Bank Statement Integration
- 📈 Analytics & Reports
- 🔐 Secure Authentication with Password Reset
Tech Stack
Frontend: React, TypeScript, Bootstrap Backend: Node.js, Express, MongoDB Authentication: JWT
Quick Start
Prerequisites
- Node.js (v14+)
- MongoDB
Installation
- Install dependencies:
cd backend
npm install
cd ../frontend
npm install
cd ../bank-statement-app
npm installStart MongoDB: Make sure MongoDB is running on
mongodb://localhost:27017Start all servers:
Windows:
start-all.batOr manually (open 3 terminals):
# Terminal 1 - Backend (port 5000)
cd backend
npm start
# Terminal 2 - Bank API (port 3002)
cd bank-statement-app
npm start
# Terminal 3 - Frontend (port 3000)
cd frontend
npm start- Open browser:
http://localhost:3000Test Account
Email: [email protected]
Password: Test@123Configuration
Backend (.env)
PORT=5000
MONGODB_URI=mongodb://localhost:27017/wealthwise
JWT_SECRET=wealthwise_secret_key_change_in_production_2024
NODE_ENV=development
FRONTEND_URL=http://localhost:3000
BANK_API_URL=http://localhost:3002Frontend (.env)
REACT_APP_API_URL=http://localhost:5000/api
REACT_APP_NAME=WealthWise
REACT_APP_VERSION=1.0.0Bank API (.env)
PORT=3002
NODE_ENV=developmentUsage
- Sign Up - Create a new account or use test account
- Import Expenses - Go to Expenses → Click "Import Expenses from Bank"
- Track Income - Add your income sources
- Set Budget - Create monthly/weekly budgets
- View Reports - Check analytics and spending patterns
Project Structure
WealthWise/
├── backend/ # Express API server
│ ├── src/
│ │ ├── models/ # MongoDB models
│ │ ├── routes/ # API routes
│ │ ├── services/ # Business logic
│ │ └── controllers/ # Request handlers
│ └── server.js
├── frontend/ # React app
│ ├── src/
│ │ ├── pages/ # Page components
│ │ ├── components/ # Reusable components
│ │ ├── services/ # API calls
│ │ └── utils/ # Utilities
│ └── public/
├── bank-statement-app/ # Mock bank API
│ ├── server.js
│ └── bank-statement.json
└── start-all.bat # Windows startup scriptAPI Endpoints
Authentication
POST /api/auth/register- Register new userPOST /api/auth/login- LoginPOST /api/auth/password-reset/request- Request OTPPOST /api/auth/password-reset/confirm- Reset password
Expenses
GET /api/expenses- Get all expensesPOST /api/expenses- Create expensePUT /api/expenses/:id- Update expenseDELETE /api/expenses/:id- Delete expensePOST /api/expenses/export- Export (CSV/JSON)
Bank Integration
GET /api/bank/transactions- Get bank transactionsPOST /api/bank/import- Import from bank
Budget
GET /api/budgets- Get budgetsPOST /api/budgets- Create budgetGET /api/budgets/status- Check budget status
Income, Goals, Savings, etc.
See full API documentation in code comments.
Deployment
For production deployment, update environment variables:
Backend:
MONGODB_URI=your-mongodb-atlas-uri
JWT_SECRET=generate-strong-secret
FRONTEND_URL=https://your-frontend-url
BANK_API_URL=https://your-bank-api-url
NODE_ENV=productionFrontend:
REACT_APP_API_URL=https://your-backend-api-url/apiLicense
MIT
