Skip to content

Database Schema

Jihoon (Fiona) Choi edited this page Feb 26, 2022 · 11 revisions

MVP Database Schema

Db Schema with Bonuses

User

Column Name Data Type Details
id integer not null, primary key
email string not null, unique
username string(50) not null, unique
hashedPassword string not null
image string default=defaultImage

Group

Column Name Data Type Details
id integer not null, primary key
owner_id integer not null, foreign key
group_name string not null
description string not null
group_image string default=defaultImage
  • owner_id references users table

Study Group

Column Name Data Type Details
user_id integer not null, foreign key
group_id integer not null, foreign key
  • many to many join table between users and groups
  • user_id references users table
  • group_id references groups table

Room

Column Name Data Type Details
id integer not null, primary key
group_id integer not null, foreign key
user_id integer not null, foreign key
room_name string not null
  • group_id references groups table
  • user_id references users table

Note

Column Name Data Type Details
id integer not null, primary key
group_id integer not null, foreign key
user_id integer not null, foreign key
note_text string not null
created_at datetime not null
  • group_id references groups table
  • user_id references users table

Chat

Column Name Data Type Details
id integer not null, primary key
room_id integer not null, foreign key
user_id integer not null, foreign key
message string not null
created_at datetime not null
  • room_id references rooms table
  • user_id references users table

Event

Column Name Data Type Details
id integer not null, primary key
group_id integer not null, foreign key
user_id integer not null, foreign key
summary string not null
description string not null
start_time datetime not null
end_time datetime not null
  • group_id references groups table
  • user_id references users table

EventAttendee

Column Name Data Type Details
attendee_id integer not null, foreign key
event_id integer not null, foreign key
  • many to many join table between users and groups
  • attendee_id references users table
  • group_id references groups table

Album

Column Name Data Type Details
id integer not null, primary key
group_id integer not null, foreign key
user_id integer not null, foreign key
title string not null
  • user_id references users table
  • group_id references groups table

Image

Column Name Data Type Details
id integer not null, primary key
album_id integer not null, foreign key
user_id integer not null, foreign key
study_image string not null
  • user_id references users table
  • album_id references albums table

ActiveParticipants

Column Name Data Type Details
room_id integer not null, foreign key
user_id integer not null, foreign key
  • user_id references users table
  • room_id references rooms table