Split bills between friends ;)

Overview

SplitWise - FindCoder.io Hackathon Submission

ReactSpring Java

Full stack application to split bills among friends ;)

Frontend : https://tripsplits.netlify.app/register

Backend : https://github.com/aarhank/TripSplit-Backend

Get started

A bill spliting application, uses a greedy algorithm to give the min number of transactions to resolve the expenses, also reduces the complexity.

Application consists of a Frontend and a Backend, Backend made using springboot with fully scalable code database used is AWS RDS, Frontend is made using reactJS made use of mui library to design responsive components.

Features

  • User Sigin and Signup functionality
    Takes user name and email as parameters, stores hashed password.

  • Create Group, can add multiple users Takes group name,budget,type and members, can select from all users in the database.

  • Create Expenses, select multiple users to split equally
    Takes expense name,amount,paidby and splitbtw as parameters.

  • Generates minimum number of transactions and reduce the complexity of expenses. This uses a greedy algorithm at every step, settle all amounts of one person and recur for remaining n-1 persons.

  • Full functioning backend, database used AWS RDS Backend made using spring boot, with a sql database.

Algorithm

  • Compute the net amount for every person. The net amount for person ‘i’ can be computed by subtracting sum of all debts from sum of all credits.
  • Find the two persons that are maximum creditor and maximum debtor. Let the maximum amount to be credited maximum creditor be maxCredit and maximum amount to be debited from maximum debtor be maxDebit. Let the maximum debtor be Pd and maximum creditor be Pc.
  • Find the minimum of maxDebit and maxCredit. Let minimum of two be x. Debit ‘x’ from Pd and credit this amount to Pc
  • If x is equal to maxCredit, then remove Pc from set of persons and recur for remaining (n-1) persons.
  • If x is equal to maxDebit, then remove Pd from set of persons and recur for remaining (n-1) persons.

Backend Design

Examples

You might also like...

A new way to share your readings with friends. Hope you like it!

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Sep 9, 2022

Planning a getaway with family or friends and looking for a trip planner app to help you figure out the logistics?

Never-Wavering-Wayfaring-Wanderlust-Adventure-Planner Planning a getaway with family or friends and looking for a trip planner app to help you figure

Jun 15, 2022

Make friends through music. Discover great sound tracks on Solana and play them with your buddies :dancer:.

Make friends through music. Discover great sound tracks on Solana and play them with your buddies :dancer:.

Acoustic Licious COVID-19 has significantly impacted the mental health of children and adults alike. Globally, the population suffering from lonelines

Oct 28, 2022

slack-friends Make it easy to send to Slack from your application

slack-friends Make it easy to send to Slack from your application Installation 💡 npm install slack-friends How to get bot token https://api.slack.com

Aug 23, 2022

Diush - a secure funnel for selling items to your friends and network

Diush - a secure funnel for selling items to your friends and network

diush a secure funnel for selling items to your friends and network. learn more at diush.xyz » diush is an open-source mobile platform that acts as a

Dec 21, 2022

This site compares your GitHub Profile to your friends, and analyses and tells your GitHub profile score too.

GitHub ⚔️ Duel Deployed at 🚀 : https://githubduel.vercel.app/ Compare your GitHub profiles with your friends It gives score to GitHub profile based o

Nov 21, 2022

Steam - Highlight specific friends who play

highlight-friends Steam Website - Highlight specific friends who play https://greasyfork.org/en/scripts/450409-highlight-specific-friends-who-play?loc

Nov 6, 2022

This is ongoing project and it will has plan for several co-workers and friends.

This is ongoing project and it will has plan for several co-workers and friends.

MERN: Full-stack Chat Application Introduction The MERN stack which consists of Mongo DB, Express.js, Node.js, and React.js is a popular stack for bui

Dec 3, 2022

A full-stack social media application where users can post and share their coding projects, adding friends, and joining the discussion in threaded comments on project posts.

A full-stack social media application where users can post and share their coding projects, adding friends, and joining the discussion in threaded comments on project posts.

CodeFlow Description CodeFlow is a social media application where users can post and share their coding projects with others. By logging in or signing

Dec 8, 2022
Owner
Aarhan Khan
Backend Developer | CSE Undergraduate - JUIT Solan
Aarhan Khan
jQuery Split Pane plugin

split-pane jQuery Split Pane plugin The plugin should work in IE8 and above as well as in Chrome, Safari and Firefox. You can download split-pane.js a

Simon Hagström 162 Dec 13, 2022
BCash is an app to help you keep track of who you owe and who owes you money in an easy way. Split your tabs and more.

BCash BCash is an app to help you keep track of who you owe and who owes you money in an easy way. Split your tabs and more. Routes for develpment: lo

Cuitlahuac Maldonado 3 Aug 11, 2022
Unopinionated utilities for resizeable split views

Split Unopinionated utilities for resizeable split views. Zero Deps Tiny: Each is between 1-2kb gzipped. Fast: No overhead or attached window event li

Nathan Cahill 5.6k Dec 24, 2022
🏏 GitHub action to split your Git release tag into SemVer 2.0 parts

?? Git Tag Action GitHub action to split your Git release tag into SemVer 2.0 parts This is a simple action to split your git tag, usually for release

Noel 5 Oct 31, 2022
Simple and minimal split pane component for Solid!

solid-split-pane Split pane component for Solid! Uses Split.Js under the hood. Takes all props that split.js takes, plus a gutterClass. (Q) Why not so

blusk 5 Oct 28, 2022
FocusSpace - A time-management tool to help you stay focus with your friends

FocusSpace ?? ElleHacks2022 - (Telus) First Place ?? Developers Manyi Cheng(@man

Manyi Cheng 1 Feb 13, 2022
Hi, Spring fans! In this installment we look at the just-released Hilla framework, from our friends at Vaadin

Custom project from Hilla This project can be used as a starting point to create your own Hilla application with Spring Boot. It contains all the nece

Spring Tips 11 Nov 17, 2022
See a banned user's profile, their friends, their favorite games, their followers etc.

Roblox-Banned-User-Viewer AKA BanView See a banned user's profile, their friends, their favorite games, their followers etc. Ever wondered how to view

SCR1PP3D 4 Nov 18, 2022
✨ View all of your GitHub stats and compare your stats with friends, made using nextjs and tailwind.

Octotastic All of your GitHub Stats in one place. Features: View your own stats or any other user's stats. View advanced stats using graphs and charts

ashish 10 Sep 6, 2022
Friend Finder App, asks questions and recommends friends

Friendology Friend Finder app created as a Course Project for CS-522 Social Computing, at IIT Ropar. The application asks questions regarding lifestyl

Rohit Tuli 3 Apr 26, 2022