This Expense Tracker application is designed to help users manage their personal finances. It allows users to track their income and expenses, categorize their transactions, set budgets, and receive alerts. The application also provides graphical reports and analytics for better financial planning.
Live:
- Frontend: React.js, Redux, CSS Modules
- Backend: Node.js, Express.js
- Database: MongoDB
- State Management: Redux Toolkit
- Styling: CSS Modules
- Charting: Chart.js
- Authentication: Jwt token
- Alerts:Nodemailer
- User Authentication: Secure login and registration for users using token based Authentication.
- Expense and Income Tracking: Add, edit, and delete income and expense transactions.
- Category-wise Breakdown: Categorize transactions for better insights.
- Budget Setting and Alerts: Set monthly budgets and receive alerts when limits are exceeded using nodemailer.
- Graphical Reports and Analytics: Visual representation of financial data through charts and graphs.
To get a local copy up and running follow these simple steps.
- Node.js
- npm
- MongoDB
- Clone the repo
git clone https://github.com/MdIrfan-ul/ExpenseTracker.git
- Install NPM packages for frontend
cd frontend npm install
- Install NPM packages for backend
cd backend npm install
- Create a .env file in the backend folder and add your MongoDB URI and Firebase configuration details:
MONGO_URI=YOURMONGOURI
PORT=PORTNUMBER
JWT_SECRET_KEY=YOURSECRETKEY
EMAIL_USER=YOUREMAIL
EMAIL_PASS=YOURPASS
- Run the server
cd backend
npm start
- Run the frontend
cd frontend
npm start
ExpenseTracker/
├── frontend/ # React frontend
│ ├── public/
│ ├── src/
│ ├── .env
│ └── package.json
├── backend/ # Node.js backend
│ ├── config/
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ ├── .env
│ └── package.json
├── .gitignore
├── README.md
- Register/Login: Create an account or log in with existing credentials.
- Dashboard: View summary of your financial status.
- Add Transaction: Add income or expense transactions.
- Set Budget: Set monthly budgets and receive alerts when limits are exceeded.
- Reports: View graphical reports and analytics for better financial insights.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (git checkout -b feature/AmazingFeature)
- Commit your Changes (git commit -m 'Add some AmazingFeature')
- Push to the Branch (git push origin feature/AmazingFeature)
- Open a Pull Request
Developed with ❤️ by [Mohamed Irfanullah M]