A full-stack expense tracking application built with React.js frontend and Node.js backend. This application helps users manage their personal finances by tracking income and expenses with visual analytics and reporting features.
- User Authentication: Secure login and registration system
- Dashboard Analytics: Visual representation of financial data with charts and graphs
- Expense Management: Add, edit, delete, and categorize expenses
- Income Tracking: Record and manage multiple income sources
- Transaction History: View all transactions with filtering and search capabilities
- Dark/Light Mode: Toggle between themes for better user experience
- Data Export: Export financial data to Excel format
- Responsive Design: Mobile-friendly interface
- Real-time Updates: Live data synchronization
- React.js - User interface library
- Vite - Build tool and development server
- CSS3 - Styling and animations
- Chart.js/Recharts - Data visualization
- Axios - HTTP client for API calls
- Node.js - Runtime environment
- Express.js - Web application framework
- MongoDB - NoSQL database
- Mongoose - MongoDB object modeling
- JWT - JSON Web Tokens for authentication
- Multer - File upload middleware
- ExcelJS - Excel file generation
sujeetkumar-29-expense-tracker/
├── README.md
├── backend/ # Backend API server
│ ├── config/ # Database configuration
│ ├── controllers/ # Route controllers
│ ├── middleware/ # Custom middleware
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ └── server.js # Entry point
└── frontend/ # React frontend
├── src/
│ ├── components/ # Reusable components
│ ├── pages/ # Page components
│ ├── context/ # React context providers
│ ├── hooks/ # Custom hooks
│ └── utils/ # Utility functions
└── public/ # Static assets
- Node.js (v14 or higher)
- MongoDB (local or cloud instance)
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/sujeetkumar-29/expense-tracker.git cd sujeetkumar-29-expense-tracker -
Backend Setup
cd backend npm installCreate a
.envfile in the backend directory:PORT=5000 MONGODB_URI=mongodb://localhost:27017/expense-tracker JWT_SECRET=your-jwt-secret-key
Start the backend server:
npm start
-
Frontend Setup
cd frontend npm installStart the development server:
npm run dev
-
Access the Application
- Frontend:
http://localhost:5173 - Backend API:
http://localhost:8000
- Frontend:
- Sign Up: Create a new account or log in with existing credentials
- Dashboard: View your financial overview with charts and recent transactions
- Add Income: Record your income sources with categories and amounts
- Track Expenses: Log your expenses with categories, descriptions, and amounts
- View Transactions: Browse all your financial transactions with filtering options
- Analytics: Analyze your spending patterns with visual charts
- Export Data: Download your financial data in Excel format
POST /api/auth/register- User registrationPOST /api/auth/login- User login
GET /api/dashboard/overview- Get financial overview
GET /api/income- Get all income recordsPOST /api/income- Add new incomePUT /api/income/:id- Update incomeDELETE /api/income/:id- Delete income
GET /api/expenses- Get all expensesPOST /api/expenses- Add new expensePUT /api/expenses/:id- Update expenseDELETE /api/expenses/:id- Delete expense
- Financial overview cards
- Monthly expense trends
- Income vs expense charts
- Recent transactions list
- Categorized expense tracking
- Emoji-based category selection
- Date-wise expense filtering
- Expense analytics and reports
- Multiple income source management
- Monthly income trends
- Income category organization
- Responsive mobile design
- Dark/Light theme toggle
- Smooth animations and transitions
- Intuitive navigation
- Fork the repository
- Create a 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
This project is licensed under the MIT License - see the LICENSE file for details.
Sujeet Kumar
- GitHub: @sujeetkumar-29
- Thanks to all contributors and supporters
- Inspired by modern financial management applications
- Built with love for the open-source community
If you have any questions or need help, please open an issue on GitHub or contact the maintainer.
⭐ If you found this project helpful, please give it a star on GitHub!