Answered step by step
Verified Expert Solution
Question
1 Approved Answer
The booking system will be implemented as a set of command - line tools that must satisfy the following criteria, in addition to the requirements
The booking system will be implemented as a set of commandline tools that must satisfy the following criteria, in addition to the requirements below.
run on the Linux version that you are using on campus
take commandline arguments as input
it must have a help command that describes the commandline arguments
it must provide output either to a file andor to standard output, so that it can be used by another commandline tool in the system
if providing output via standard output, it means the output can also be piped to a file using the Linux pipe operators
you can choose in what data format you will store any internal data, eg JSON, xml or something else entirely.
Requirements
Configure the system
In order to use the booking system, a student should be able to configure the system to connect to their WeThinkCode Google calendar, and the Code Clinic Google calendar.
It should be possible to verify that the tool is configured correctly by checking that the connection to Google Calendar is successful.
Configuration data should be stored in a hidden file in the users home directory.
View calendars
In order to view bookings, a student should able to download the students google calendar and the Coding Clinics Google calendar.
Only the next days including the current day data must be downloaded. Weekends and public holidays are counted in the days.
The calendar data should be stored in a file on the local workstation.
Each time the tool is run, the data file must be updated with latest days of data. Old data can be discarded.
If the data file already contains the latest data, then do not download the data again.
the data read from the file should be displayed in a convenient, easy to read layout on the screen.
Make a booking
In order to book a slot, the student should specify a slot by date and time and all calendars should be updated accordingly.
The data file should also be updated with the latest booking information.
A slot can only be booked if there is a volunteer allocated to that slot.
The booking should also have a description of help that they need.
The duration for each slot is half hour.
Do not allow a slot that is already booked to be double booked.
Volunteer for a slot
As a student that wants to volunteer their time in the coding clinic, I want to indicate my availability for a specific slot.
Do not allow double booking for volunteers
The booking should also show on the volunteers personal Google Calendar
The data file for the volunteer should be updated as well
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started