cash-stacks/server/database-docs.md
2021-04-14 13:47:53 -07:00

65 lines
803 B
Markdown

# 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
}
```