# Design - [Fold Website Mock](https://fold.money/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fmockup-web-light.a9e40530.jpg&w=3840&q=75) # 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 ```