33## FreshmanAccount table ##
44This table stores the basic metadata associated with a freshman before they pass
55their 10-week evaluation.
6+
67* ` id ` : Autoincrementing primary key.
78* ` name ` : The freshman's name
89* ` eval_date ` : The date of the freshman's 10-week evaluation
10+ * ` onfloor_status ` : Tracks whether they have been granted on-floor status.
11+ * ` signatures_missed ` : Allows for members who do not get an account to have their missed signatures tracked.
912
1013## FreshmanEvalData table ##
1114This table stores the evaluations data for freshmen before they pass their
121510-week evaluations.
16+
1317* ` id ` : Autoincrementing primary key.
1418* ` uid ` : The freshman's LDAP uid (if they pass their packet)
1519* ` freshman_project ` : Their status on the freshman project (pending, passed,
@@ -19,9 +23,12 @@ This table stores the evaluations data for freshmen before they pass their
1923 evals form)
2024* ` other_notes ` : Any other notes the freshman has attended (part of the fall
2125 evals form)
26+ * ` freshmen_eval_result ` : The result of introductory evaluations.
27+ * ` active ` : Determines whether the freshman account is currently active / displayed.
2228
2329## CommitteeMeeting table ##
2430This table stores a list of committee meetings.
31+
2532* ` id ` : Autoincrementing primary key.
2633* ` committee ` : The committee the meeting belongs to.
2734* ` timestamp ` : The date and time of the meeting.
@@ -30,13 +37,15 @@ This table stores a list of committee meetings.
3037## MmeberCommitteeAttendance table ##
3138This table stores attendance for committee meetings for full members (i.e.
3239non-freshmen).
40+
3341* ` id ` : Autoincrementing primary key.
3442* ` uid ` : The LDAP uid (i.e. username) of the member who attended the meeting
3543* ` meeting_id ` : Foreign key referencing the meeting that was attended
3644 (` committee_meetings.id ` )
3745
3846## FreshmanCommitteeAttendance table ##
3947This table stores attendance for committee meetings for freshmen.
48+
4049* ` id ` : Autoincrementing primary key.
4150* ` fid ` : Foreign key referencing the freshman account for the freshman who
4251 attended (` freshman_accounts.id ` ).
@@ -45,19 +54,22 @@ This table stores attendance for committee meetings for freshmen.
4554
4655## TechnicalSeminar table ##
4756This table stores a list of technical seminars.
57+
4858* ` id ` : Autoincrementing primary key.
4959* ` name ` : The name of the seminar
5060* ` active ` : Whether or not the seminar applies to the current year.
5161
5262## MemberSeminarAttendance table ##
5363Stores seminar attendance for full members.
64+
5465* ` id ` : Autoincrementing primary key.
5566* ` uid ` : The LDAP uid of the member who atended the seminar
5667* ` seminar_id ` : Foreign key referencing the seminar attended
5768 (` technical_seminars.id ` )
5869
5970## FreshmanSeminarAttendance table ##
6071Stores seminar attendance for freshmen.
72+
6173* ` id ` : Autoincrementing primary key.
6274* ` fid ` : Foreign key referencing the freshman who attended the seminar
6375 (` freshman_accounts.id ` )
@@ -66,14 +78,17 @@ Stores seminar attendance for freshmen.
6678
6779## MajorProject table ##
6880Stores major projects through their entire lifetime.
81+
6982* ` id ` : Autoincrementing primary key.
7083* ` uid ` : LDAP uid of the member the project belongs to
7184* ` name ` : Name of the major project
7285* ` description ` : Description of the project
7386* ` status ` : Status of the project (pending, passed, failed)
87+ * ` active ` : Determines if the project is relevent to the current evaluations period.
7488
7589## HouseMeeting table ##
7690Stores occurrences of house meeting.
91+
7792* ` id ` : Autoincrementing primary key.
7893* ` date ` : Date the meeting occurred
7994* ` active ` : Whether or not the meeting applies to the current year
@@ -82,31 +97,72 @@ Stores occurrences of house meeting.
8297Stores house meeting attendance data for full members. If a member does not have
8398an entry for a given house meeting, that means they were not required to attend
8499that house meeting.
100+
85101* ` id ` : Autoincrementing primary key.
86102* ` uid ` : LDAP uid of the member the attendance record is for
87103* ` meeting_id ` : Foreign key referencing the house meeting attended
88104 (` house_meetings.id ` )
105+ * ` excuse ` : Reason for not attending.
106+ * ` attendance_status ` : Differenciates between storing an absent, excused, or present status.
89107
90108## FreshmanHouseMeetingAttendance table ##
91109Stores house meeting attendance data for freshmen.
110+
92111* ` id ` : Autoincrementing primary key.
93112* ` fid ` : Foreign key referencing the freshman the attendance record is for
94113 (` freshman_accounts.id ` )
95114* ` meeting_id ` : Foreign key referencing the house meeting attended
96115 (` house_meetings.id ` )
116+ * ` excuse ` : Reason for not attending.
117+ * ` attendance_status ` : Differenciates between storing an absent, excused, or present status.
97118
98119## CurrentCoops table ##
99120Used to store members who are inactive and on co-op, to distinguish them from
100121members who are inactive but could potentially become active later in the
101122semester/year.
123+
102124* ` id ` : Autoincrementing primary key.
103125* ` username ` : LDAP uid of the member on coop.
126+ * ` active ` : Is the co-op still in progress?
127+
128+ ## OnFloorStatusAssigned table ##
129+ When members are granted on-floor status plays a role in how they are ranked in the housing queue, making it important to store this information.
130+
131+ * ` uid ` : LDAP uid of the member.
132+ * ` onfloor_granted ` : Date of on-floor vote.
133+
134+ ## Conditional table ##
135+ Conditional, so we can store conditionals on Conditional.
136+
137+ * ` id ` : Autoincrementing primary key.
138+ * ` uid ` : LDAP uid of the member in the conditional
139+ * ` date_created ` : Date conditional assigned.
140+ * ` date_due ` : Date conditional has to be completed by.
141+ * ` active ` : Whether or not the conditional is currently relevent.
142+ * ` status ` : Current completion status of the task assigned.
143+
144+ ## SpringEval table ##
145+ Records the yearly results of member's spring evaluations.
146+
147+ * ` id ` : Autoincrementing primary key.
148+ * ` uid ` : LDAP uid of the member being evaluated.
149+ * ` active ` : Is this evaluation for the current year?
150+ * ` date_created ` : The date of the evaluation.
151+ * ` status ` : Result of the evaluation.
152+
153+
154+
104155
105156### Member state ###
106- * ldap: active = 0; ldap: alumni = 1: Alumni. Don't track attendance.
107- * ldap: active = 0; ldap: alumni = 0; in coop table: On coop. Track committee
157+ * Not in LDAP Current Student group:
158+ * Alumni. Don't track attendance.
159+ * In LDAP Current Student group and in Co-Op Table:
160+ * On coop. Track committee
108161 meeting attendance, but not house meeting.
109- * ldap: active = 0; ldap: alumni = 0; not in coop table: Present but not active
162+ * In LDAP Current Student group but not in LDAP Active Group:
163+ * Present but not active
110164 yet. Track attendance as normal.
111- * ldap: active = 1; ldap: alumni = 0: Active member. Track attendance as normal.
112- * ldap: active = 1; ldap: alumni = 1: Invalid. Should not occur.
165+ * In LDAP Current Student group and in LDAP Active group:
166+ * Active member. Track attendance as normal.
167+ * In LDAP Active group but not in LDAP Current Student Group:
168+ * Invalid. Should not occur.
0 commit comments