Livoa LogoLivoa

DebtSimplifier


simplifyDebt(map<> balances);

Group


string groupId;

string name;

vector<User> members;

map<> expenses;

map<> balances;

addMember(User&);

removeMember(User&);

notify();

updateGroupBal(fromId, toId, amt);

addExpense();

settlePayment(from, to, amt);

simplifyDebt();

User


string userId;

string name;

string email;

map<string,double> balances;

update(msg);

updateBal(otherId, amt);

<<abstract>>


Observer

update(msg);

<<Singleton>>


Splitwise

map<> users;

map<> groups;

map<> expenses;

settleIndividualPayment()<?>

addIndividualExpense()<?>

<<Model>>


Expense

string id;

string desc;

double amt;

string paidUserId;

vector<Split> splits;

string groupId;

<<Model>>


SplitFactory

getSplitStrat(StrategyType t);

<<Model>>


Split

string userId;

string amount;

SplitStrategy


calcSplit(double totalAmt, vector<> userIds, vector<> values);

ExactSplit


calcSplit();

EqualSplit


calcSplit();

PercentageSplit


calcSplit();

<<enum>>


SplitType

EQUAL,

EXACT,

PERCENTAGE

credresolve

by dhruv

0
0 uses