Skip to content

[Budget][FE][BE] Shared Budgets (RFC) #31

@duongdev

Description

@duongdev

How it works

Share methods

1. Via join link

  • Generate an invite link and send to others. Links expire in 15 minutes.
  • Join link looks like: https://lets.get6pm.com/invite/A1B2C3.
    • If app is not installed, ?
      • Show links to download
      • Show join instruction using invite code instead
    • If app is install, open app with deep link, let user review the invite in-app then join by click a button or ignore.

2. Via invite code

  • Join budget in Settings tab.
  • Enter join code
  • Preview budget
  • Join now

Shared budget settings/policies

canMembersCreateTransactions      Boolean @default(true)
canMembersViewOtherTransactions   Boolean @default(false)
canMembersUpdateOtherTransactions Boolean @default(false)
canMembersDeleteOtherTransactions Boolean @default(false)

Checklist

Backend

  • As budget owner, I want to create an invite link to share to others
  • As budget owner, I want to remove a member from my budget
  • As budget owner, I want to update my budget settings
  • Restrict budget permissions on shared budget based on budget settings
  • Restrict transaction permissions on shared budget based on budget settings

Frontend

  • Update useTransactionList to remove the removed/unshared transactions from store
  • Restrict budget permissions on shared budget based on budget settings
  • Restrict transaction permissions on shared budget based on budget settings

Questions

  1. How to handle categories display across users?
  2. How to optimize Prisma transaction queries based on budget settings?
  3. How the budget view differs between budget owners and members?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions