A web application to manage your personal finances by tracking income and expenses. Users can view their transactions, add new ones, and delete existing ones. The app also calculates the total income and expenses for the current month.
- User Authentication: Sign up, login, and logout functionality with JWT-based authentication.
- Transaction Management: Add, view, and delete income and expense transactions.
- Monthly Summary: Display total income and expenses for the current month.
- Responsive Design: Mobile-friendly UI built with Bootstrap.
-
Frontend:
- HTML, JavaScript
- Bootstrap for styling
- EJS for templating
-
Backend:
- Node.js with Express.js
- MongoDB for database
- Mongoose for object data modeling (ODM)
-
Other Tools:
- JSON Web Tokens (JWT) for authentication
- MongoDB Atlas for database hosting
- Postman for API Testing
-
Clone the repository:
git clone https://github.com/yourusername/finance-tracker.git cd finance-tracker
-
Install Dependencies
npm install
-
Set up environment variables Create a .env file in the root of the project with the following variables:
PORT=5000 MONGO_URI=your_mongo_db_connection_string JWT_KEY=your_jwt_secret_key
-
Run the application
npm start
The app should now be running on http://localhost:5000
- Sign up for a new account or log in if you already have an account.
- View your transactions on the homepage.
- Add new transactions (income or expense) via the form.
- Delete transactions by clicking the delete button next to each transaction.
- Monitor your total income and expenses for the current month at the top of the homepage.
- Transactions are not fully categorized.
- No support for recurring transactions.
- Add categories for transactions.
- Implement user settings to customize the app.
- A user dashboard for visualising expenses.