You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
803 B
64 lines
803 B
# User |
|
|
|
```ts |
|
type User = { |
|
id: uuid |
|
name: string |
|
email: string |
|
password: string |
|
} |
|
``` |
|
|
|
# UserAccount |
|
|
|
```ts |
|
type UserAcccount = { |
|
user_id: uuid |
|
account_id: uuid |
|
} |
|
``` |
|
|
|
- join table between User <-> Account. |
|
- use case: account belongs to more than 1 person |
|
|
|
# Account |
|
|
|
```ts |
|
type Account = { |
|
id: uuid |
|
name: string // example: Household Expenses |
|
details: string |
|
income: integer // cents // total income |
|
expenses: integer // cents // total expenses |
|
} |
|
``` |
|
|
|
- belongs to User |
|
- has many transactions |
|
|
|
# Stack |
|
|
|
- belongs to account |
|
|
|
```ts |
|
type Stack = { |
|
id: uuid |
|
account_id: uuid |
|
name: string |
|
details: string |
|
amount: integer |
|
} |
|
``` |
|
|
|
# Transaction |
|
|
|
- belongs to Stack |
|
|
|
```ts |
|
type Transaction = { |
|
id: uuid |
|
stack_id: string |
|
amount: integer // cents |
|
details: string |
|
} |
|
```
|
|
|