A backend web application to monitor expenses built with Node.js, Express, and MongoDB.
This expense tracker provides robust backend functionality for tracking and managing financial transactions. Built with a modular architecture, the application handles user authentication, transaction management, and proper error handling.
- RESTful API endpoints for transaction management
- User authentication with JWT
- Error handling and validation
- CORS support for cross-origin requests
- Modular project structure for scalability
- Node.js - JavaScript runtime environment
- Express.js - Web application framework
- MongoDB - NoSQL database
- JSON Web Tokens (JWT) - Secure authentication
- JavaScript - Programming language (100%)
expense-tracker/
├── handlers/
│ └── errorHandler.js
├── managers/
│ └── jwtManager.js
├── middleware/
│ └── auth.js
├── models/
│ ├── transactionsModel.js
│ └── usersModel.js
├── modules/
│ ├── transactions/
│ │ ├── controllers/
│ │ │ ├── addExpense.js
│ │ │ ├── addIncome.js
│ │ │ ├── deleteTransaction.js
│ │ │ └── editTransactions.js
│ │ └── transactions.routes.js
│ └── users/
│ ├── controllers/
│ │ ├── login.js
│ │ ├── register.js
│ │ └── userDashboard.js
│ └── routes.routes.js
├── .gitignore
├── app.js
├── package-lock.json
├── package.json
└── README.md
- Node.js (v18 or higher recommended)
- MongoDB instance (local or Atlas)
-
Clone the repository
git clone https://github.com/MrRyt247/expense-tracker.git -
Navigate to the project directory
cd expense-tracker -
Install dependencies
npm install -
Start the server
nodemon app.js
This project is open source and available under the MIT License.