/splitwise

SplitWise System Design with working APIs

Primary LanguageJava

SplitWise System Design

Functional Requirements

User

  1. User should be able to login/signup.
  2. User should be able to add expense (with one/multiple other users).
  3. User can be added to a group.
  4. User can add expense in a group.
  5. User can settle expenses with other users.
  6. User should be able to see all unsettled expenses with other users.

Group

  1. Group can have multiple users.
  2. Expenses can be added in the group by a user.
  3. Transaction history should be visible for a group.
  4. Group should simplify the debts to enable minimal transactions.

Data Modelling (In Progress)

Simplify Debts Algorithm (In Progress)