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

803 B

User

type User = {
  id: uuid
  name: string
  email: string
  password: string
}

UserAccount

type UserAcccount = {
  user_id: uuid
  account_id: uuid
}
  • join table between User <-> Account.
  • use case: account belongs to more than 1 person

Account

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
type Stack = {
  id: uuid
  account_id: uuid
  name: string
  details: string
  amount: integer
}

Transaction

  • belongs to Stack
type Transaction = {
  id: uuid
  stack_id: string
  amount: integer // cents
  details: string
}