Credit for the original design and implementation goes to Timothy J. Aveni.
- Pulls office hours from a Google Calendar
- Pulls TA pictures from a local folder
- Pulls students from a local spreadsheet
- Allows students in and out of the course to add themselves to the queue
- Allows dequeuing by rescanning Buzzzcard (remove specific student) or hitting backspace (remove next student)
- Export the roster csv from Canvas (get it from GT Roster on Canvas)
- Open the file and delete all columns except for Name and GTID (leave them in the order of Name then GTID)
- Save this file as
students.csvand put it in thesrc/referencesdirectory - To enable scanning, you'll need to supply some kind of card scanner. The behavior of the one we use and what the code expects is for the scanner to individually input the digits followed by enter/return. You can simulate this behavior without the scanner by just manually inputting the digits followed by enter/return.
- In the
/src/references/ta_picsfolder, save square photos of all the TAs (accepted formats: png, jpg, JPG, jpeg, gif) - Each photo should be named with the first name of the TA (all lowercase) and match the string used on the Google Calendar (not case sensitive)
- Create a Google Calendar for all the office hours (make sure the privacy settings are set to public, otherwise you'll get a 404 error)
- Add all of the office hours of the TAs by titling the events with the first names of the TAs (this is important for getting the TA pictures)
- If the Hashboard stops reloading the TAs on duty, the calendar data may have overflowed and you'll need to limit each instance of office hours to a few weeks only.
- Create a json file in the
srcdirectory (this file is untracked via git, so make sure to add it locally):
{
"cal_id": "yourcalendarid@group.calendar.google.com",
"api_key": "yourgooglecloudplatformapikey"
}- To get the calendar ID, go to the office hours calendar's settings and look under the "Integrate calendar" heading
- To get a Google API key, follow these steps: https://developers.google.com/calendar/quickstart/js
- Clone the repository
- Add your own
secret.config.jsonfile to thesrcdirectory (see Set Up the Google Calendar API Calls section) - Navigate to the
hashboard-adirectory - Run
npm ito install all the necessary node modules - Run
npm startto run the app