The Personal Expense Tracker application allows users to manage their expenses efficiently. Users can record their expenses, categorize them, and view summaries to gain insights into their spending habits. The application includes user account management, secure sessions, and comprehensive error handling.
- Features
- System Design and Architecture
- Technologies Used
- Installation and Setup
- Usage
- Testing
- Deployment
- Additional Notes
- User registration and login.
- Secure session management.
- Add new expense entries with
date
,amount
,category
, anddescription
. - View, edit, or delete existing expense entries.
- Categorize expenses (e.g., food, transportation, entertainment).
- Default categories provided; users can create custom categories.
- View total spending for a given time period (daily, weekly, monthly).
- Display spending by category to identify high-expense areas.
- Neumorphism: The UI employs Neumorphism design principles for a modern, soft, and engaging user experience.
- Dark and Light Mode: The application supports both dark and light modes, allowing users to switch based on their preference.
- Front-end: React application for the client-side interface.
- Back-end: Node.js with Express for the server-side logic.
- Database: MongoDB for storing user and expense information.
- User Actions: Users interact with the React front-end.
- API Requests: Front-end sends API requests to the Express back-end.
- Database Operations: The back-end communicates with MongoDB to perform CRUD operations.
- Responses: The back-end sends responses back to the front-end, which updates the UI accordingly.
- Front-end: React, Chakra UI for styling, React Router for navigation.
- Back-end: Node.js, Express.js.
- Database: MongoDB, Mongoose for object data modeling.
- Authentication: JWT for secure user sessions.
- Node.js and npm installed.
- MongoDB installed and running.
-
Clone the repository:
https://github.com/Biswajeet-23/mern-personal-expense-tracker cd personal-expense-tracker
-
Install dependencies: Navigate to the
api
directory and start the backend application:npm install
-
Set up environment variables: Create a
.env
file in the root directory and add the following:MONGODB_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret
-
Start the development server:
npm run dev
-
Run the front-end: Navigate to the
client
directory and start the React application:cd client npm install npm run dev
- Register a new account or log in with existing credentials.
- For testing purposes, you can use the following credentials:
- Username:
dummy01
- Password:
1234
- Username:
- Navigate to the "Add Expense" section and fill in the required details.
- View your expenses in the "Expenses" section.
- Edit or delete entries as needed.
- Access the "Summary" section to see your spending habits over different time periods.
- Clik on the link to visit the live website personal-expense-tracker.
- The application includes comprehensive error handling to provide meaningful feedback to the user.
- The code follows best practices for both front-end and back-end development, including security measures for handling user data and sessions.
- Implement additional insights and analytics.
- Add support for recurring expenses and notifications.