Knowledge Base ~ Tables.md - uchicago-cs/chigame GitHub Wiki

Knowledge Base Table.md

Table Guide

Cols:

  • guide_id (integer) PRIMARY KEY
  • author (integer)
  • game_id (integer)
  • content (long string)
  • recent_upload (date, auto_now_add = True) -- updated for the recentest upload time
  • status (string, one of “Pending” “Accepted”, “Change Requested”, “Rejected”)
  • n_likes (integer, default = 0)

Constraint:

  • Foreign key: author references user.user_id
  • Foreign key: game_id references game.game_id

Table ReviewFeedback

Cols:

  • review_feedback_id (integer) PRIMARY KEY
  • reviewer_id (integer)
  • comment (string)
  • guide_id (integer)
  • status (string, one of “Accepted”, “Change Requested”, “Rejected”)
  • timestamp (date, auto_now_add = True)

Constraint:

  • Foreign key: reviewer_id references user.user_id
  • Foreign key: guide_id references guide.guide_id

Table Favorite

Cols:

  • favorite_id (integer) PRIMARY KEY
  • user_id (integer)
  • guide_id (integer)

Constraint:

  • Unique: (user_id, guide_id)
  • Foreign key: user references user.user_id
  • Foreign key: guide_id references guide.guide_id

Table Like

Cols:

  • like_id (integer) PRIMARY KEY
  • user_id (integer)
  • guide_id (integer)

Constraint:

  • Unique: (user, guide)
  • Foreign key: user references user.user_id
  • Foreign key: guide_id references guide.guide_id

Other

  • add a published_guide_id entry to Game (Null-able) -> record which guide is currently published for this game

  • add a moderator (boolean) in User -> record which users are moderators who can approve the uploaded guides