-
Notifications
You must be signed in to change notification settings - Fork 54
Description
Description:
Overview
Build a comprehensive expense splitting system for managing shared expenses with friends, family, or roommates, including automatic balance calculation and settlement tracking.
Requirements
Backend - Models
Create SplitGroup model: name, members (userId, email, nickname), avatar, currency, simplifyDebts setting, createdBy
Create SplitExpense model: groupId, paidBy, amount, description, category, splitType (equal, exact, percentage, shares), splits array, receipt, date
Create Settlement model: groupId, fromUser, toUser, amount, method (cash, bank, venmo, etc.), status, confirmedAt
Create GroupInvite model for pending invitations
Backend - API Routes
POST /api/groups - Create split group
GET /api/groups - List user's groups
POST /api/groups/:id/invite - Invite member (email/link)
POST /api/groups/:id/expenses - Add shared expense
GET /api/groups/:id/balances - Get who owes whom
POST /api/groups/:id/settle - Record settlement
GET /api/groups/:id/activity - Activity feed
POST /api/groups/:id/simplify - Simplify debts algorithm