Concepts
Logic Needed to Understand the Backend
User IDs (UIDs)
A UID, in the context of our site, is a different representation of a user's email. It generally follows the format of the email domain in reverse, followed by the username. For example, the UID for sder@uci.edu is edu.uci.sder.
Sometimes, a username can contain dots in it. In these cases, we would insert an additional .. If the email was albert.wang@gmail.com, then the corresponding UID would be com.gmail.albert..wang.
Decisions
A Decision represents whether an applicant has been accepted, rejected, or waitlisted.
class Decision(str, Enum):
ACCEPTED = "ACCEPTED"
WAITLISTED = "WAITLISTED"
REJECTED = "REJECTED"Roles
A Role indicates the type of participant at our hackathon, so that we know which pages are viewable for them and which pages should be hidden. Additionally, it will also allow us to control the actions a user can take. For example, only directors can access routes that send out emails to participants. Currently, the following roles exist in the application:
class Role(str, Enum):
APPLICANT = "applicant"
DIRECTOR = "director"
HACKER = "hacker"
MENTOR = "mentor"
REVIEWER = "reviewer"
ORGANIZER = "organizer"
VOLUNTEER = "volunteer"
CHECKIN_LEAD = "checkin_lead"
SPONSOR = "sponsor"
JUDGE = "judge"
WORKSHOP_LEAD = "workshop_lead"Status
A Status represents a participant's status in terms of where they are in the process of attending the event.
class Status(str, Enum):
PENDING_REVIEW = "PENDING_REVIEW"
REVIEWED = "REVIEWED"
WAIVER_SIGNED = "WAIVER_SIGNED"
CONFIRMED = "CONFIRMED"
ATTENDING = "ATTENDING"
VOID = "VOID"PENDING_REVIEWandREVIEWEDare related to an applicant's status in terms of whether their application has been reviewed yet.WAIVER_SIGNEDindicates that a user has signed the DocuSign waiverCONFIRMEDmeans that a user has confirmed their attendance and will be attending the eventATTENDINGandVOIDare used after RSVP deadlines to indicate whether an applicant RSVP'd before the deadline or not. If an accepted user's status was notCONFIRMED(i.e. eitherACCEPTEDorWAIVER_SIGNED), then during enforcement of an RSVP deadline (see ...), their status would change toVOID. Otherwise, it would change toATTENDING.
Last updated