System Overview - User, Group, Expense classes
This system manages users, groups, and expenses. Users can join groups and add expenses shared among group members. The system tracks who paid and who owes money.
This system manages users, groups, and expenses. Users can join groups and add expenses shared among group members. The system tracks who paid and who owes money.
+-------+ +--------+ +---------+
| User |<----->| Group |<----->| Expense |
+-------+ +--------+ +---------+
^ ^ ^
| | |
+---------------+----------------+
|
Database
class Expense:
def __init__(self, amount, paid_by, split_between):
self.amount = amount
self.paid_by = paid_by
self.split_between = split_between
def split_amount(self):
return self.amount / len(self.split_between)
expense = Expense(120, 'Alice', ['Alice', 'Bob', 'Charlie'])
print(expense.split_amount())class Expense:
def __init__(self, amount, paid_by, split_between):
self.amount = amount
self.paid_by = paid_by
self.split_between = split_between
def split_amount(self):
return self.amount // len(self.split_between)Pass the test and this pattern moves unknown