Skip to content

Sameer0726152/expense-task-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

💰 Expense & Task Manager

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.

Status Node.js JavaScript Chart.js


📖 Overview

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.


✨ Features

  • 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

🛠️ Tech Stack

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

📂 Project Structure

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

🚀 Getting Started

Prerequisites

  • Node.js installed on your machine

Installation & Setup

  1. Clone the repository

    git clone https://github.com/Sameer0726152/expense-task-manager.git
    cd expense-task-manager
  2. Install dependencies

    npm install express cors
  3. Start the backend server

    node server.js

    The server will run on http://localhost:5000

  4. Launch the frontend Open frontend.html directly in your browser (double-click it, or use a Live Server extension).


🔌 API Endpoints

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

🎯 How It Works

  1. Add group members under Add User
  2. Log an expense — select who paid, who's splitting it, and the amount
  3. The Balances section auto-calculates exact amounts owed between members
  4. The Expense Chart visualizes total spending per person
  5. Assign tasks to members under the Tasks section and track completion

🔮 Future Improvements

  • Persistent storage with a database (MongoDB/PostgreSQL)
  • User authentication
  • Multi-currency support
  • Settle-up history and payment tracking
  • Mobile-responsive layout refinements

🏆 Built At

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.


About

A expense managing website made during a college level hackathon

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors