A full-stack web application for managing shared group expenses and tasks — built collaboratively during a hackathon. It helps groups (roommates, trip companions, project teams) track who paid for what, automatically calculates who owes whom, and keeps shared tasks organized in one place.
Splitting group expenses and tracking shared responsibilities is a common pain point — this project solves it with a lightweight, no-database, instantly runnable web app. Add group members, log expenses, and the app calculates exactly who owes whom. A built-in task manager lets the group assign and track to-dos alongside the finances.
- User Management — Add or remove group members on the fly
- Expense Tracking — Log expenses with a payer and a custom split between selected members
- Automatic Balance Calculation — Instantly see who owes whom and how much
- Visual Spending Chart — Bar chart breakdown of total spend per person (via Chart.js)
- Task Management — Assign tasks to members and mark them complete
- Reset Option — One-click clear to reset all data for a new session
- Responsive Dark UI — Clean dark-and-gold themed interface with smooth animations
| Layer | Technology |
|---|---|
| Backend | Node.js, Express.js |
| Frontend | HTML5, CSS3, Vanilla JavaScript |
| Data Visualization | Chart.js |
| Data Storage | In-memory (no database required) |
| Cross-Origin Support | CORS |
expense-task-manager/
├── server.js # Express backend — API routes & in-memory data store
├── frontend.html # Frontend UI — HTML, CSS, and client-side JS
└── README.md
- Node.js installed on your machine
-
Clone the repository
git clone https://github.com/Sameer0726152/expense-task-manager.git cd expense-task-manager -
Install dependencies
npm install express cors
-
Start the backend server
node server.js
The server will run on
http://localhost:5000 -
Launch the frontend Open
frontend.htmldirectly in your browser (double-click it, or use a Live Server extension).
| Method | Endpoint | Description |
|---|---|---|
POST |
/add-user |
Add a new user |
GET |
/users |
Get all users |
DELETE |
/delete-user/:id |
Remove a user and related data |
POST |
/add-expense |
Add a new expense |
GET |
/expenses |
Get all expenses |
DELETE |
/delete-expense/:id |
Remove an expense |
GET |
/balances |
Get calculated balances between users |
POST |
/add-task |
Create a new task |
GET |
/tasks |
Get all tasks |
POST |
/complete-task/:id |
Mark a task as completed |
POST |
/clear |
Reset all data |
- Add group members under Add User
- Log an expense — select who paid, who's splitting it, and the amount
- The Balances section auto-calculates exact amounts owed between members
- The Expense Chart visualizes total spending per person
- Assign tasks to members under the Tasks section and track completion
- Persistent storage with a database (MongoDB/PostgreSQL)
- User authentication
- Multi-currency support
- Settle-up history and payment tracking
- Mobile-responsive layout refinements
This project was built during a hackathon as a rapid-prototyping exercise in full-stack development, with AI-assisted development used to accelerate implementation and debugging.