Schema - Gargar77/CleanTrac GitHub Wiki

Postgres Database Schema


companies


column name data type details
id integer not null, primary key
name string not null
website string
created_at datetime not null
updated_at datetime not null

users


column name data type details
id integer not null, primary key
company_id integer not null, foreign key
first_name string not null
last_name string not null
phone string not null
email string not null,indexed
password_digest string not null
session_token string not null, indexed
role string not null
created_at string not null
updated_at string not null
  • comany_id references companies

accounts


column name data type details
id integer not null
company_id integer not null, foreign key
name string not null
address string not null, indexed
primary_contact_name string not null, indexed
primary_contact_phone string not null
monday_cleaning boolean not null
tuesday_cleaning boolean not null
wednesday_cleaning boolean not null
thursday_cleaning boolean not null
friday_cleaning boolean not null
saturday_cleaning boolean not null
sunday_cleaning boolean not null
cleaning_timeframe_start time
cleaning_timeframe_end time
created_at datetime not null
updated_at datetime not null
  • company_id references companies

active_cleanings


column name data type details
id integer not null, primary key
account_id integer not null, foreign key
user_id integer not null, foreign_key
  • a joins table to track employees to a specific account
  • account_id references accounts
  • user_id references users

file_links


column name data type details
uploader_id integer not null
account_id integer not null
link text not null
  • this table handles uploaded content by user from a specific account
  • uploader_id references users
  • account_id references accounts