Database Schema - TranJohnny/microcosm_app GitHub Wiki

Schema

Microcosm.png

Users

column name data type details
id integer not null, primary key
first_name string not null
last_name string not null
username string not null, unique
email string not null, unique
hashed_password string not null
coins integer default: 1000
level integer default: 1
exp integer default: 0
created_at datetime not null
updated_at datetime not null

Stories

column name data type details
id integer not null, primary key
title string not null
parts integer default: 1
tier integer default: 1
author_id integer foreign_key: Users.id
createdAt datetime not null
updatedAt datetime not null

Micro_Stories

column name data type details
id integer not null, primary key
story_id integer foreign_key: Stories.id
format_id integer foreign_key: Formats.id
part integer not null
content text not null
createdAt datetime not null
updatedAt datetime not null

Formats

column name data type details
id integer not null, primary key
name string not null

User_Subscriptions (Join Table)

column name data type details
id integer not null, primary key
userId integer not null, foreign key
followerId integer not null, foreign key

Subscriptions

column name data type details
id integer not null, primary key
follower_id integer not null, foreign key: User.id
creator_id integer not null, foreign key: User.id
tier integer default: 0
createdAt datetime not null
updatedAt datetime not null

Likes

column name data type details
id integer not null, primary key
user_id integer not null, foreign key: User.id
like_id integer not null
like_type string not null
createdAt datetime not null

Comments

column name data type details
id integer not null, primary key
user_id integer not null, foreign key: User.id
comment_id integer not null
comment_type string not null
content string not null
createdAt datetime not null
updatedAt datetime not null

Notifications

column name data type details
id integer not null, primary key
user_id integer not null, foreign key: User.id
content string not null
createdAt datetime not null
updatedAt datetime not null