Reformat the Database.
Closed this issue · 2 comments
Database Tables should contain:
italics indicates primary key
- hall
- id
- name
- g_cal <- This would contain the information we would need to connect to the Google Calendar for a respective hall.
- ra
- id
- first_name
- last_name
- hall_id
- date_started <- This field essentially keeps track of whether an RA is a new hire so that they can be paired with returning RAs in the beginning of the year.
- points
- conflicts
- id
- ra_id
- day_id
- schedule
- id
- hall_id
- ra_id
- day_id
- created <- This contains the date that the entry was created.
- day
- id
- month_id
- date
- month
- id
- name
- year
Also, if we would like to make a login system through the Luther G-Suite or locally through Flask, we might also want to have a database table that outline the level of authorization an RA, AHD, HD, or SuperUser might have. This way, we can say that RAs can have a specific view of of the application and can enter conflicts, but they would not be able to see the AHD interface nor would they be able to run the scheduling algorithm. Additionally, AHDs would also be able to enter conflicts, but could run the scheduler as well as make some other changes. HDs could add or remove RAs/AHDs but would not be able to enter conflicts and SuperUsers would have complete access to everything.
To supplement this, a field could be added to the ra
table that could denote the level of authorization that a given user might have. Also, we might consider renaming the table to users
if this we go this route.