Skip to content

User Design

Adam Chao edited this page Dec 16, 2020 · 2 revisions

Overview

See Semi-Anonymous Hierarchy for more details on tiers.

The User data type should contain the following fields:

  • Username - display only, does not have to be unique
  • Email (optional, but retrievable if using Firebase Auth)
  • User ID - internal use only, MUST BE UNIQUE!
  • Creation Date
  • Tier
  • Submitted (array)
  • Commented (array?)
  • Bookmarked (array)

Wishlist

  • How are we storing this information?
  • What privacy laws do we have to adhere to?
  • If user authentication is done separately (eg. with Firebase) we have to consider separate bandwidth costs. How do we limit reads/writes to the user database? Is there a way to cache it?