Skip to content

RishikaHub/ShareSpend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ShareSpend

A bill-splitting application to track shared expenses in a group, developed with Node and React.

Explanation of Transaction Minimisation Algorithm

We implemented a greedy algorithm to minimise the number of transactions required to settle the debts between all members of a group. The algorithm runs in O(n log n), where n is the number of users – this means that it scales well with the number of users.

A simple example of this algorithm . In this example, Alice owes Bob ₹10 and Bob owes Charlie ₹10 for a total of two transactions. The algorithm will suggest that Alice pays Charlie ₹10 directly, meaning only one transaction is required to settle the debts.

Screenshots

Screenshot (166) Screenshot 2024-05-31 193241

Installation and Usage

Setting up the MongoDB Database

  1. Create a file in the server directory with the name: .env
  2. Open the file in a text editor (such as Notepad or TextEdit).
  3. Add the following line to the file, replacing <uri> with the URI of your MongoDB database:
MONGODB_URI="<uri>"
  1. Save the file.

Running the Server

  1. Open a terminal window.
  2. Ensure that you're in the root directory: sharepend
  3. Navigate to the server directory: cd server
  4. Install dependencies: npm install
  5. Run the server: node app

Running the Client

  1. Open a new terminal window (separate to the previous one).
  2. Ensure that you're in the root directory: sharepend
  3. Navigate to the server directory: cd client
  4. Install dependencies: npm install
  5. Run the client: npm start
  6. Browse to the URL provided in the terminal window.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published