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.
 
 
 
 
 
 

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
}