A modern, full-stack expense tracking application with a sleek dark mode dashboard. Track your income, expenses, and visualize your spending habits with beautiful charts.
- Frontend: expense-tracker013.netlify.app
- Backend API: expense-tracker-7ov4.onrender.com
- π User Authentication β Secure JWT-based login and registration
- π Interactive Dashboard β Visualize spending with pie charts and trend lines
- π³ Transaction Management β Add, edit, and delete income/expenses
- π·οΈ Custom Categories β Create personalized categories for better organization
- π Dark Mode UI β Modern, eye-friendly dark theme
- π± Responsive Design β Works seamlessly on desktop and mobile
- π Filter & Search β Quickly find transactions by type or category
Frontend:
- React 18
- React Router v6
- Recharts (data visualization)
- Vite (build tool)
- CSS3 (custom dark theme)
Backend:
- Node.js
- Express.js
- MongoDB with Mongoose
- JWT Authentication
- bcrypt (password hashing)
Deployment:
- Frontend: Netlify
- Backend: Render
- Database: MongoDB Atlas
- Node.js 18+
- MongoDB Atlas account (or local MongoDB)
- npm or yarn
-
Clone the repository
git clone https://github.com/Gochatsurtsumia/MoneyTrail.git cd MoneyTrail -
Set up the backend
cd backend npm installCreate a
.envfile in thebackendfolder:PORT=5000 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_secret_key NODE_ENV=development
Start the backend server:
npm run dev
-
Set up the frontend
cd frontend npm installCreate a
.envfile in thefrontendfolder:VITE_API_URL=http://localhost:5000/api
Start the frontend:
npm run dev
-
Open your browser
Visit
http://localhost:5173
MoneyTrail/
βββ backend/
β βββ src/
β β βββ config/ # Database configuration
β β βββ controllers/ # Route controllers
β β βββ middleware/ # Auth middleware
β β βββ models/ # Mongoose models
β β βββ routes/ # API routes
β β βββ services/ # Business logic
β β βββ utils/ # Helper functions
β βββ server.js # Entry point
β βββ package.json
β
βββ frontend/
β βββ src/
β β βββ components/ # Reusable components
β β βββ context/ # Auth context
β β βββ pages/ # Page components
β β βββ services/ # API service
β β βββ App.jsx # Main app component
β βββ index.css # Global styles
β βββ package.json
β
βββ README.md
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/register |
Register new user |
| POST | /api/auth/login |
User login |
| GET | /api/auth/me |
Get current user |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/transactions |
Get all transactions |
| POST | /api/transactions |
Create transaction |
| PUT | /api/transactions/:id |
Update transaction |
| DELETE | /api/transactions/:id |
Delete transaction |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/categories |
Get all categories |
| POST | /api/categories |
Create category |
| PUT | /api/categories/:id |
Update category |
| DELETE | /api/categories/:id |
Delete category |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/analytics/summary |
Get income/expense summary |
| GET | /api/analytics/by-category |
Get spending by category |
| GET | /api/analytics/monthly-trend |
Get monthly trends |
Dark mode dashboard with summary cards and interactive charts.
Filter and manage all your transactions in one place.
Create custom categories for income and expenses.
Contributions are welcome! Feel free to:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License β see the LICENSE file for details.
Gocha Tsurtsumia
- GitHub: @Gochatsurtsumia
β Star this repo if you found it helpful!