foldbank-mock/TODO.md
Ameya Shenoy f4a60ab7d4 chore: stuff
Signed-off-by: Ameya Shenoy <shenoy.ameya@gmail.com>
2024-09-10 18:14:42 +05:30

1.9 KiB

Design

Models

- User
  - id:uuid
  - name:text

- Tag
  - id:uuid
  - title:text - Subscription
  - sub_category:text - Netflix
  - icon_type:text

- Bank
  - id:uuid
  - name:TextField
  - logo:ImageField

- Account
  - id:uuid
  - user:ForeignKey:User
  - bank:ForeignKey:Bank
  - account_number:Text
  - account_type:select - user, service (useful for distinguishing between user and swiggy/google etc)
  - ifsc_code:Text
  - swift_bic:Text
  - holders_name:Text
  - account_type:Option - Savings, Current

- Transaction
  - id:uuid
  - created_at:datetime
  - amount:float
  - tag:ForeignKey:Tag
  - from_account:ForeignKey:Account
  - to_account:ForeignKey:Account

- Recurring Payment
  - id:uuid
  - user:ForeignKey:User
  - from_account:ForeignKey:Account
  - to_account:ForeignKey:Account
  - frequency:DurationField
  - due_on:DateTimeField
  - amount:float

- Recurring Payment Transaction
  - id:uuid
  - recurring_payments:ForeignKey:Recurring Payment
  - transaction:ForeignKey:Transaction

APIs

- /api/v1/balance
  - used for
    - total balance
    - balance in bank
- /api/v1/download/statement
  - used for
    - downloading statement of a bank
  - returns
    - balance
    - message: ⬆ 20% compared to previous month
- /api/v1/transactions
  - used for
    - all transactions
    - transactions of a bank
    - transactions to a source
    - transactions on a tag
- /api/v1/recurring
  - used for
    - recently paid recurring transaction
    - upcoming recurring transaction

Things Ignored

- Backend
  - Linking of Bank Account
  - Multiple currency handling
  - Not considering assets like FD, Stocks
  - i18n
  - multi tenancy
  - data modelling - way too complex to build the entire app
- Web
  - Not mobile responsive, intended to be a mockup
  - click to copy
  - hover states
  - menus