unc-csxl / csxl.unc.edu

CS Experience Labs' web application.
https://csxl.unc.edu
MIT License
9 stars 7 forks source link

Office Hours Feature #443

Closed sadieamato closed 1 month ago

sadieamato commented 2 months ago

Office Hours Feature

Authors: Meghan Sun, Bailey DeSouza, Madelyn Andrews, Sadie Amato

Feature Description

First and foremost, this feature aims to recreate Course Care within the tech stack of the XL site, while redesigning and enhancing its features. The main functionality included here is the ticket workflow enabling connections between students and course staff. Students will be able to check into events, create tickets outlining their concerns, and be notified via sound when it is their turn. Staff members can also check into events, and they will be able to see a queue of tickets, be notified via sound when a new ticket arrives, call a ticket, and review the student. Aside from the ticket workflow, instructors, staff, and students will have various abilities, including opting in to using the system, creating events, and viewing usage statistics.

Directory Structure

Models of Office Hours Sections, Events, and Tickets were created on the frontend and backend to represent these ideas. Frontend models can be found in /frontend/src/app/office-hours/office-hours.models.ts, and the backend models are found within the /backend/models/office_hours/ folder. The related entities were also created in /backend/entities/office_hours/, and the details of those are outlined here. In addition, our models are passed through the feature via components, a frontend service, backend API, and backend services. Respectively, those are found in the following directories:

Our unit tests can be found in the /backend/test/services/office_hours/ directory.

ajaygandecha commented 2 months ago

✅ Backend Entities CR Re-Review

@sadieamato @meghansun322 @baileymeredith @maddyandrews

Entities CR LGTM!

ajaygandecha commented 2 months ago

@sadieamato @maddyandrews @meghansun322 @baileymeredith Looks great!! Almost there, just one last test to add 😄 for: "If the student currently has a queued ticket, don't allow new ticket creation" This will get the tickets test coverage to 100%!

You can see the specific line that is not tested by running the following in the terminal and then going to the index.html generated in the /coverage folder:

pytest --cov-report html:coverage --cov=backend/services backend/test/services
ajaygandecha commented 2 months ago

✅ Backend Services and Models CR Re-Review

@sadieamato @meghansun322 @baileymeredith @maddyandrews

Services and models (and the rest of the backend) LGTM!

KrisJordan commented 1 month ago

Went to try and generate the migration to deploy before heading out of town and ran into a couple of issues:

  1. Reset Demo is no longer showing an active term so the office hours screen fails to load
  2. There are some conflicts which need to be resolved with main (ideally via a merge commit pushed to this branch) as shown in the status of the PR
ajaygandecha commented 1 month ago

@KrisJordan / @sadieamato merge commit added, tests remain passing and at 100% coverage.