A comprehensive expense tracking application built with a modern React frontend and a robust Node.js/Express backend. Track your expenses, set budgets, and visualize your financial health.
- Expense Tracking: Log and categorize your daily expenses.
- Budget Management: Set monthly limits for different categories.
- Visualizations: Interactive charts and graphs to analyze spending patterns.
- User Authentication: Secure signup and login functionality.
- Responsive Design: Works seamlessly on desktop and mobile devices.
Frontend:
- React 18
- Vite
- TypeScript
- Tailwind CSS
- Material UI
- Recharts (for visualization)
Backend:
- Node.js
- Express.js
- MongoDB (with Mongoose)
- JSON Web Tokens (JWT) for authentication
- Node.js (v18+ recommended)
- npm or yarn
- MongoDB Atlas account (or local MongoDB instance)
-
Clone the repository:
git clone https://github.com/your-username/Finance_track.git cd Finance_track -
Install Frontend Dependencies:
npm install
-
Install Backend Dependencies:
cd server npm install cd ..
-
Backend Environment Variables:
- Navigate to the
serverdirectory. - Create a
.envfile based on.env.example:cp server/.env.example server/.env
- Update the
MONGODB_URIandJWT_SECRETwith your own credentials.
- Navigate to the
-
Frontend Environment Variables:
- Navigate to the root directory.
- Create a
.envfile based on.env.example(if needed for custom API URL):cp .env.example .env
To run both the frontend and backend concurrently (recommended for development):
npm run dev- Frontend will be available at
http://localhost:5173 - Backend will run on
http://localhost:5000
To build the frontend for production:
npm run buildContributions are always welcome!
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/your-username/Finance_track.git
- Create a new branch for your feature or bug fix:
git checkout -b feature/amazing-feature
- Make your changes and commit them:
git commit -m "Add some amazing feature" - Push to your branch:
git push origin feature/amazing-feature
- Open a Pull Request on GitHub against the
mainbranch.