Skip to content

sumukh30/budgetWise

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BudgetWise — Group Expense Management System (CS-480 Project)

BudgetWise is a database-driven group expense management system designed to help users track shared spending, split costs fairly, and settle balances with individuals across the groups you share as roommates, friends, travel companions, or event participants.

Users can create or join groups, log expenses, automatically divide costs among members, view balances (“who owes whom”), and maintain a history of all the group activity.
By leveraging a relational database, BudgetWise ensures accuracy, reliability, and fairness in shared expense management.


Table of Contents


Features

User Registration & Authentication

  • Create an account with name, email, and password
  • Secure login to access groups, expenses, and settlements

Group Creation & Management

  • Create groups for trips, households, events, etc.
  • Add and manage group members

Record Shared Expenses

  • Add expenses with amount, category, payer, date under group
  • Full detail stored for transparency

Automatic Expense Splitting

  • Split costs equally, by amount or by percentage among members
  • System handles all calculations automatically

Spending Insights

  • Category-wise and monthly spending analytics at the individual level
  • User can see how much one has spent and how much is the person's total share

Balance Tracking (“Who Owes Whom”)

  • View detailed balances for each user across groups.
  • Shows who owes whom and how much based on all recorded data.

Settlement Recording

  • You can settle the balances with individuals (payer → payee)
  • Balances update immediately across both payer and payee.

Group Activity Timeline

  • Chronological history of expenses in the group
  • Helps users verify financial transactions

Profile Management

  • Update name, and password securely

Tech Stack

  • Frontend: React.js
  • Backend Runtime: Node.js
  • Backend Framework: Express.js
  • Database: MySQL (relational schema)

ER Diagram

BudgetWise ER Diagram


Getting Started

Prerequisites

Make sure the following are installed:

  • Node.js (v18+ recommended)
  • MySQL Server
  • npm or yarn

Setup

  1. Clone the repository
    git clone https://github.com/imandeol/budgetWise
    cd budgetWise
  2. Install dependencies
    npm install
  3. Database configurations
  • Create a MySQL database named budgetwise
  • Rename .env.example to .env and update with your database credentials
  • Then run schema.sql file to create the required tables in budgetwise database.
  1. Start backend server
    cd budget-wise-backend
    npm run dev
  2. Start frontend server
  • Open new tab in bash

    cd ../budget-wise-frontend
    npm run dev

About

Project for CS 480 : Database Systems

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 94.0%
  • CSS 4.9%
  • Other 1.1%