Skip to content

feat(household): Shared household budgeting support (#134)#261

Open
dagangtj wants to merge 1 commit intorohitdash08:mainfrom
dagangtj:feat/household-budgeting-134
Open

feat(household): Shared household budgeting support (#134)#261
dagangtj wants to merge 1 commit intorohitdash08:mainfrom
dagangtj:feat/household-budgeting-134

Conversation

@dagangtj
Copy link

Summary

Implements Shared household budgeting support as requested in #134.

Features

Household Management API:

  • POST /households — Create a new household
  • GET /households — List user's households
  • POST /households/:id/invite — Generate invite code (48h expiry)
  • POST /households/join — Join via invite code
  • GET /households/:id/members — List members with roles
  • GET /households/:id/summary?month=YYYY-MM — Aggregated financial summary

Data Models:

  • Household — name, owner
  • HouseholdMember — user-household link with role (owner/member)
  • HouseholdInvite — secure invite codes with expiry

Security:

  • All endpoints require JWT authentication
  • Membership check on all household-specific endpoints (403 for non-members)
  • Invite codes are cryptographically random with time-based expiry

Tests (8 test cases):

  • Create household, list households
  • Invite generation and join flow
  • Invalid invite code handling
  • Member listing, household summary
  • Non-member access blocked (403)
  • Unauthenticated access blocked (401)

Closes #134

- Add Household, HouseholdMember, HouseholdInvite models
- CRUD API: create household, list user households
- Invite system: generate invite code, join via code (48h expiry)
- Member management with role-based access (owner/member)
- Household summary: aggregated spending across all members
- Per-member spending breakdown
- Membership checks on all endpoints (403 for non-members)
- 8 test cases covering all flows

Closes rohitdash08#134
@dagangtj
Copy link
Author

Hi @rohitdash08, ready for review! Includes full CRUD, invite system, membership checks, and 8 test cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Shared household budgeting support

1 participant