david-fisher / 320-S20-Track2

Integration Track 2
BSD 3-Clause "New" or "Revised" License
6 stars 0 forks source link

Student Scheduling An Appointment #18

Open JonathanSigel2000 opened 4 years ago

JonathanSigel2000 commented 4 years ago

Hank is on the Support Platform and is scrolling through a list of supporters that the algorithm thinks might be right for him. All are highly rated. Hank has no preference towards any of them in particular, but wants one who is available between the hours of 1 and 2 PM. Scrolling down the page, Hank selects each profile individually, causing him to be directed to an interface where he can view their availability. The fourth supporter he checks, Lori, has an appointment available at 1:30 PM. Hank selects on the time block and confirms his appointment. He gets an e-mail delivered confirming the appointment.

coffincw commented 4 years ago

Currently the availability displayed on the calendar is hardcoded and appointments can be dragged from available time to non-available time. Availability also needs to be updated for the supporter in the backend after an appointment is created. In order to complete this task the backend needs to pass the supporters indicated preferences for max appointment lengths for each appointment type along with correctly formatted dates for the availability. Currently, the dates and times for the supporter availability are being passed as strings which are difficult and inefficient to parse by the front end, they should be passed in a DateTime form that is easily read.

Another thing that needs to be adjusted is when a student decides they don't like the appointment they created and click 'No' on the 'Is this the appointment you want?' dialog, currently the dragged appointment block isn't removed from the calendar and can't be removed manually.

These changes weren't implemented because for multiple reasons, the big one being that it took a while for the track to figure out the CORS policy issues to get started on the HTTP requests and it took a while for us to get the basic create functionality working.