Smart Finance Tracker is a backend API designed to help users manage their finances efficiently. It allows users to track income, expenses, goals, habits, and subscriptions, while also providing intelligent insights based on their financial behavior.
- User registration & login
- Password hashing using bcrypt
- JWT-based authentication
- Protected routes
- Add income
- Update income
- Delete income
- Get total income (using aggregation)
- Add expense
- Delete expense
- Get monthly expenses
- Create, update, delete goals
- Track goal progress
- Deadline tracking
- Create habits
- Mark habits as completed
- Track completion history
- Streak calculation
- Success rate calculation
- Add, update, delete subscriptions
- Track usage frequency
- Cost-per-use calculation
- Health score system
- Smart recommendations
- Total income
- Total expenses (including subscriptions)
- Balance calculation
- Bad subscriptions detection
- Possible savings calculation
- Subscription-to-income ratio
- Smart insights
- Goal deadline alerts
- Subscription warnings
- Stored in database
- Detect unused subscriptions
- Suggest cancelling low-usage subscriptions
- Recommend yearly plans for heavy usage
- Analyze financial health
- Generate dynamic insight messages
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT Authentication
- bcrypt
project/
│
├── controllers/
├── models/
├── routes/
├── middleware/
├── utils/
├── validation/
├── cron/
└── app.js
- Request sent from client (Postman / Frontend)
- Route receives request
- Middleware (auth + validation)
- Controller handles logic
- Database interaction (MongoDB)
- Response sent back to client
- POST
/api/auth/register - POST
/api/auth/login
- POST
/api/income/add - GET
/api/income/total
- POST
/api/expense/add - GET
/api/expense/monthly
- POST
/api/subscription/add - GET
/api/subscription/analytics
- GET
/api/dashboard
- Tested using Postman
- All routes protected using JWT
- Real-time notifications (Socket.io)
- Charts & data visualization
Developed by Afaf Tawfek 🚀
This project demonstrates backend development skills including API design, authentication, data analysis, and clean architecture principles.