PennyWise is a MERN stack web application that helps users manage their personal finances by tracking expenses, incomes, transactions, and budgets. The system also provides smart budgeting recommendations using a Flask-based Python API, integrates OCR for receipt detection, and ensures secure authentication with two-factor verification (2FA).
- Expense & Income Tracking β log daily transactions and view summaries.
- Budget Management β set budgets and monitor spending progress.
- Smart Budget Recommendations β Flask API generates personalized suggestions.
- OCR Integration β scan and process receipts to automatically capture transactions.
- Secure Authentication β user login with JWT and two-factor authentication.
- API Testing with Jest β 4 core endpoints tested for stability and reliability.
- Agile Development β built following sprints, daily standups, and iterative improvements.
- Frontend: React.js
- Backend: Node.js + Express.js
- Database: MongoDB
- API: Flask (Python) for recommendations
- Authentication: JWT + 2FA
- Testing: Jest (API tests)
-
Clone the repository
git clone https://github.com/your-username/pennywise.git cd pennywise -
Install dependencies
-
Backend
cd server npm install -
Frontend
cd client npm install
-
-
Run the application
-
Start backend:
npm run dev
-
Start frontend:
npm start
-
-
Flask API
-
Navigate to the Flask folder:
cd flask-api pip install -r requirements.txt python app.py
-
Run Jest tests for backend APIs:
npm test- Developed following Agile methodology.
- Managed sprints, user stories, and daily stand-ups to ensure timely delivery.