Skip to content

Database Schema

Tabia Ye edited this page May 14, 2024 · 36 revisions

Database schema here

Users

column name data type details
id integer not null, primary key
name string not null
email string not null, unique
password string not null
created-at datetime not null
updated-at datetime not null

Friends Expenses

column name data type details
id integer not null, primary key
payer_id integer not null, foreign key
receiver_id integer not null, foreign key
description string not null
amount integer not null
expense_date datetime not null
settled boolean default value = False
notes string
created-at datetime not null
updated-at datetime not null
  • payer_id owes the money

Payments

column name data type details
id integer not null, primary key
expense_id integer not null, foreign key
user_id integer not null, foreign key
amount integer not null
payment_date datetime not null
created-at datetime not null
updated-at datetime not null

Comments

column name data type details
id integer not null, primary key
user_id integer not null, foreign key
expense_id integer not null, foreign key
comment string not null
created-at datetime not null
updated-at datetime not null

BONUS

Groups

column name data type details
id integer not null, primary key
creator_id integer not null, foreign key
group_name string not null
created-at datetime not null
updated-at datetime not null

Memberships

column name data type details
id integer not null, primary key
user_id integer not null, foreign key
group_id integer not null, foreign key
created-at datetime not null
updated-at datetime not null

Group Expenses

column name data type details
id integer not null, primary key
group_id integer not null, foreign key
description string not null
amount integer not null
expense_date datetime not null
settled boolean default value = False
notes string
created-at datetime not null
updated-at datetime not null

``

Clone this wiki locally