TAs should be able to select their hourly availability using a simple UI.
UI should write out TA’s availability in the standardized CSV format so that it can be ingested by the scheduler and save it persistently on their file system.
Admin should be able to automatically generate an office hours schedule based on availability
Perhaps:
TA should be able to determine at any given time all other available TAs who they can swap shifts with.
Improbable:
Finished schedule should be exported to Google Calendar in order to be hosted on COMP110 Course Website
Non-Functional requirements:
Definite:
The backend storage for the TA availability and the final schedule will be hosted in CSV files on Github.com
JavaFX app should be able to push and pull the latest scheduling information from the Github repository transparently to the user. It should also smoothly resolve any merge conflicts.
Intuitive GUI that allows TAs to input their availabilities
Perhaps:
Improve the scheduler algorithm in terms of both runtime and overall score.
Improbable:
UI should be able to negotiate swaps and update schedule
Interface:
Definite:
Show week and allows TA to mark days/times available with submission button
The UI should prompt the TA for their onyen so it can pull the appropriate CSV
Application will interface with github.com for storage of all file resources.
The instructor should be able to create an executable jar of the Karenbot repository and run it via the command line.
Perhaps:
Show current office hours schedule in the UI.
Show a list of all TAs available at any given time so TAs can know who to contact to try and negotiate a shift swap
Improbable:
Render schedule on the comp110 website backend.
Update schedule stored in the repository in real-time as swaps are made