Skip to content

gitNavV/SplitWiseSystemDesign

Repository files navigation

SplitWiseSystemDesign

An extensibly/modularly/cleanly coded system design for SplitWise

Functionalities:

  1. User can split spend with another user
  • Based on percentage
  • Absolute values
  • Equally
  1. User can split spend with a group
  2. User can exclude few people from the group while adding expense
  3. User can simplify debts - A owes money to B, B owes money to C. If B chooses to simplify debts, then A will pay to C directly

Future plan: User should be able to export their monthly summary of expenses and dues

The code is extensible, modular and clean. Choice of data structure was important for extensibility of the code. Took some time to think through it. Started working from the first requirement and modelled other requirements on top of it.

Releases

No releases published

Packages

No packages published

Languages