Skip to content
Ed Herman edited this page Dec 3, 2019 · 9 revisions

Database Schema

users

column name data type info
id integer null:false, unique:true, indexed
name string null:false, indexed
email string null:false, unique:true
password_digest string null:false, unique:true
session_token string null:false, unique:true, indexed
timestamps datetime

projects

column name data type info
id integer null:false, unique:true, indexed
name string null:false, indexed
description text
timestamps datetime

Todo Lists

todo_lists

column name data type info
id integer null:false, unique:true, indexed
name string null:false, indexed
details text
author_id integer null:false, indexed
follower_id integer indexed
timestamps datetime

todo_items

column name data type info
id integer null:false, unique:true, indexed
description string null:false, indexed
assigned_id integer indexed
author_id integer null:false, indexed
notes string
due datetime
complete boolean null:false
timestamps datetime

Message Board

messages

column name data type info
id integer null:false, unique:true, indexed
title string null:false, indexed
category string indexed
author_id integer null:false, indexed
body text null:false
timestamps datetime

boosts

column name data type info
id integer null:false, unique:true, indexed
author_id integer null:false, indexed
message_id integer null:false, indexed
body string null:false
timestamps datetime

Schedule

events

column name data type info
id integer null:false, unique:true, indexed
name string null:false, indexed
start datetime null:false
end datetime null:false
notes text
author_id integer null:false
timestamps datetime

Possible join tables include:

  • subscriptions to todo items, todo lists, messages, schedule
  • assigned todo items
  • 1 for each element's discussion thread
  • Project Activity from timestamps info
Clone this wiki locally