A finance management system built with Node.js, Express, MongoDB, and JWT authentication.
It allows users to manage transactions, set budgets, track goals, and receive notifications.
✅ User Authentication – Register, Login, JWT-based security
✅ Multi-Currency Support – Currency conversion using Frankfurter API
✅ Recurring Transactions – Automate future transactions
✅ Budget Management – Track spending by category
✅ Financial Goals – Set savings goals and track progress
✅ Notifications – Get alerts for upcoming transactions and budget limits
✅ Reports & Analytics – Generate financial summaries
✅ Full Test Coverage – Unit & Integration tests with Jest & Supertest
- Backend: Node.js, Express.js
- Database: MongoDB, Mongoose
- Authentication: JWT (JSON Web Tokens), bcryptjs
- Testing: Jest, Supertest, MongoMemoryServer
- Logging: Winston, Morgan
- Background Jobs: Node-cron (for scheduled tasks)
- Currency Conversion: Frankfurter API
git clone [https://github.com/your-username/project-rakindum.git](https://github.com/SE1020-IT2070-OOP-DSA-25/project-JamesSembukuttiarachchi.git)
cd project-JamesSembukuttiarachchi
cd personal-finance-tracker
npm install
- Copy the
.env.example
file to.env
NODE_ENV=development
PORT=
MONGO_URI=your_mongo_db_url
JWT_SECRET=your_jwt_secret
npm start
npm test