Monex is a web application that allows users to monitor their spending habits and make informed financial decisions. Users can add, view, and filter their expenses based on different time periods such as today, this week, or this month.
- User authentication using JWT.
- Add new expenses with details such as category, amount, and date.
- View expenses filtered by today, this week, or this month.
- Display the net spend for the selected period.
- Responsive design with a clean and intuitive user interface.
- React: JavaScript library for building user interfaces.
- React Router: For handling routing within the application.
- Material-UI (MUI): React UI framework for building modern user interfaces.
- Tailwind CSS: Utility-first CSS framework for styling.
- ESLint: Tool for identifying and fixing linting errors.
- Node.js: JavaScript runtime for server-side development.
- Express.js: Web application framework for Node.js.
- MongoDB: NoSQL database for storing expense data.
- Mongoose: ODM for MongoDB.
- JWT (JSON Web Tokens): For user authentication and secure data exchange.
- MongoDB Atlas: Fully-managed cloud database service for MongoDB.
- Postman: Tool for testing and debugging APIs.
- Vercel: Platform for frontend deployment.
- Render: Platform for backend deployment.
- Node.js (v12 or later)
- MongoDB Atlas account
- Nodemon
git https://github.com/wagzyAyo/Expenses_Tracker
cd Expenses_Tracker
cd client
npm install
cd server
npm install
Create a .env
file in the server
directory and add the following variables:
SALT=salt rounds
PORT=port to listen to request
MONGO_URI=your_mongodb_atlas_connection_string
JWT_SECRET=your_jwt_secret_key
cd client
npm run dev
cd server
npm run dev
Open your browser and go to http://localhost:5173/
.
Start the backend server
wait for this response
Hello World
- POST /api/#: Register a new user.
- POST /api/#: Log in an existing user.
- GET /api/data: Get all expenses for the authenticated user.
- POST /api/data/add: Add a new expense.
- PUT /api/data/:id/update: Update a specific expense by ID.
- DELETE /api/data/:id/delete: Delete a specific expense by ID.
Contributions are not allowed for now!
This project is licensed under the MIT License. See the LICENSE file for details.