-
Notifications
You must be signed in to change notification settings - Fork 2
Detailed Use Case Specifications
Detailed Specification for the five most important use cases:
- Accept or Reject Group Session Request
- View Information about a Student or Tutor
- Search through students
- Search through tutors
- Approve tutors
George Kandalaft
Manager
The intention of the manager is to accept or reject group session requests.
- The manager has to be logged in to the system.
- A student must have already requested a group session with a specific tutor for a specific subject at a desired time, and the student who initiated the request must have invited at least one other registered user to join the group by adding their email to the group request form.
- Manager logs into the system.
- The system loads the main page.
- Manager navigates to the "View Group Session Requests" page from a button/tab in the Navigation menu on the main page, to view all pending requests that have not yet been acted upon by the Manager.
- The system loads the list of pending requests.
- Manager selects the request they want to view in detail and act upon (confirm or reject it).
- The system loads the detailed view of the selected request.
- The request displays the students currently enrolled in the group (at least the student who initiated the group, and any other students who may have accepted an invitation to join the group), along with the tutor and subject associated with the group session, and the desired time.
- If the manager decides to confirm the request, they have to manually assign a group room and book it for the requested time slot.
- A group room is booked for the requested time slot.
- If the manager decides to reject the request, a confirmation message will appear and then the request is deleted from the system.
- Each Student receive a notification on whether their request was confirmed or rejected.
- The Tutor receives a notification only when the request is confirmed.
- Manager may receive one or many notification(s) of group session request(s) that may have been issued since the manager was last active.
- Manager may choose to select one of these notifications to view this new request in detail and act upon it.
- The system loads the detailed view of the selected request.
- The request displays the students currently enrolled in the group (at least the student who initiated the group, and any other students who may have accepted an invitation to join the group), along with the tutor and subject associated with the group session, and the desired time.
- If the manager decides to confirm the request, they have to manually assign a group room and book it for the requested time slot.
- A group room is booked for the requested time slot.
- If the manager decides to reject the request, a confirmation message will appear and then the request is deleted from the system.
- Each Student receive a notification on whether their request was confirmed or rejected.
- The Tutor receives a notification only when the request is confirmed.
- The Student who initiated the group has not added any students to invite into the group, the group contains only one student.
- All of the invited students have rejected the invitation to join the Group, the Group contains only one student, which triggers the system to send a notification to the student suggesting to book an individual session.
- The Tutor chosen by the student who initiated the group review session request is no longer available for the desired time at the time that the manager views the request, this is indicated to the manager who can then reject the request.
- All group rooms are booked at the desired time indicated in the group session request, this is indicated to the manager who can then reject the request.
- Manager does not see the request before the desired time indicated in the group session request, the manager rejects the request.
Group session request is successful, the request is accepted by the manager and a group room is booked, the student and specified tutor are notified of the scheduled group session. Or the request is rejected by the manager and a group room isn't booked, and the student(s) in the group are notified of the rejection.
- There are no pending requests, and the "View Group Session Requests" page lists no requests and instead indicates to Manager that there are no pending requests.
Ryan Arndtsen
Manager
The manager has the intention of viewing all information about a student or tutor.
- Manager must be logged in to the system.
- The Tutor exists and is approved or the Student exists in the system
- Manager has navigated to the profile of the Tutor/Student.
- The system will load a profile page of the tutor/student.
- If it is a Student profile, the page will list first name, last name, education level, phone number, email address, average star rating, a list of reviews, a list of scheduled lessons, and list of invoices made to the student for past Sessions.
- If it is a Tutor profile, the page will list first name, last name, bio/description, status, phone number, email address, average star rating, a list of reviews, a list of Products offered by the tutor (a Product associates a Course and Subject with an individual and group price for each), a list of scheduled lessons, the availability schedule for the tutor, and list of payments made to the tutor for past Sessions.
- The manager can scroll through the profiles to view the information of the tutor organized under different sections.
- The Tutor does not exist or is not approved or the Student does not exist.
- The Tutor has not filled out some elements of the profile that are not mandatory such as the list of Products offered by the tutor and their availability schedule, or does not yet have any reviews about them thus no list of reviews or average star rating, or does not have any upcoming Sessions, and no past Sessions resulting in no payments made. The profile page is rendered to show only the available information for the Tutor.
- The Student does not yet have any reviews about them thus no list of reviews or average star rating, or does not have any upcoming Sessions, and no past Sessions resulting in no issued invoices. The profile page is rendered to show only the available information for the Student.
Profile page is opened and manager can look through it.
Profile is not found and can't be opened by the manager.
Caleb Lim
Manager
The intention of the manager is to manually search for a Student based on certain criteria.
- Manager must be logged into the system.
- There must be at least one Student account in the system.
- Manager logs into the system.
- The system loads the main page.
- Manager clicks on the "Search Students" button/tab in the main Navigation bar.
- The system loads the Student search page with an input box for entering a query string matching a Student name, a "Filter" menu for filtering the results, a "Sort" menu to sort results, and a "Search" button/icon to perform the query once ready. The rest of the page is left blank to display the eventual results of the query.
- Manager optionally enters a query string into the input box.
- If a query string is entered, the system will return only the search results where the Student's whose name exactly contains a subset or the entirety of the query string.
- If no query string is entered, the system will return the search results regardless of the Student's name and will instead apply the other filters (if any).
- Manager optionally selects one or many of the following criteria to filter by: Education Level.
- If Manager selects any of the above criteria, the system will return only the search results where the Student satisfies the selected criteria.
- If Manager does not select any filters, the system will return the search results without filtering by any of the above criteria.
- Manager optionally sorts the results either alphabetically by name, or in order of increasing or decreasing average star rating.
- If Manager does not modify the sorting, the results are sorted alphabetically by default.
- If Manager does modify the sorting, the results are sorted by that sorting.
- Manager clicks the "Search" button
- The manager can then select a Student from the listed search results to view their profile or perform further actions.
- The query string inputted by Manager contains at least one invalid (non-alphabetical) character, the system indicates that the query string contains invalid characters, and does not perform the query
One or many Students were successfully found to match the specific query string and/or filters (or neither in which case the system yields all existing Students as the search results), the matching Students are returned by the system as the search results and listed on the Search page ordered by the selected sorting.
No Student in the system matches the specific query string and/or set of filters applied, the system yields no results and instead indicates that there are no Students related to the chosen query.
Louca Dufault
Manager
The intention of the manager is to manually search for a tutor based on certain criteria.
- Manager must be logged into the system.
- There must be at least one approved Tutor account in the system.
- Manager logs into the system.
- The system loads the main page.
- Manager clicks on the "Search Tutors" button/tab in the main Navigation bar.
- The system loads the Tutor search page with an input box for entering a query string matching a Tutor name, a "Filter" menu for filtering the results, a "Sort" menu to sort results, and a "Search" button/icon to perform the query once ready. The rest of the page is left blank to display the eventual results of the query.
- Manager optionally enters a query string into the input box.
- If a query string is entered, the system will return only the search results where the Tutor's whose name exactly contains a subset or the entirety of the query string.
- If no query string is entered, the system will return the search results regardless of the Tutor's name and will instead apply the other filters (if any).
- Manager optionally selects one or many of the following criteria to filter by: Product offered, Education Level, if their availabilities match all of the listed TimeBlocks.
- If Manager selects any of the above criteria, the system will return only the search results where the Tutor satisfies the selected criteria.
- If Manager does not select any filters, the system will return the search results without filtering by any of the above criteria.
- Manager optionally sorts the results either alphabetically by name, or in order of increasing or decreasing average star rating.
- If Manager does not modify the sorting, the results are sorted alphabetically by default.
- If Manager does modify the sorting, the results are sorted by that sorting.
- Manager clicks the "Search" button
- The manager can then select a tutor from the listed search results to view their profile or perform further actions.
- The query string inputted by Manager contains at least one invalid (non-alphabetical) character, the system indicates that the query string contains invalid characters, and does not perform the query
One or many Tutors were successfully found to match the specific query string and/or filters (or neither in which case the system yields all existing Tutors as the search results), the matching Tutors are returned by the system as the search results and listed on the Search page ordered by the selected or default sorting.
No Tutor in the system matches the specific query string and/or set of filters applied, the system yields no results and instead indicates that there are no Tutors related to the chosen query.
Elias Tamraz
Manager
The intention of the manager is to manually approve tutors into the system once they have created their account.
- The manager has to be logged in to the system.
- There must be at least one Tutor instance that is created but not yet approved.
- Manager logs into the system.
- The system loads the main page.
- Manager clicks on the "View Pending Tutors" button/tab in the main Navigation bar.
- The system loads the list of Tutor profiles that are pending approval, i.e. Tutors that have created an account in the system but have not yet been manually approved by Manager.
- Manager selects the Tutor profile that they want to view in detail and act upon (approve or delete).
- The system loads the Tutor profile of the selected Tutor, and the page also includes an "Approve" button to approve the tutor into the system or a "Delete" button to delete the Tutor profile from the system.
- If Manager chooses to approve the Tutor by clicking the "Approve" button on their profile, the Tutor instance is set to approved by modifying the entry in the database.
- The system redirects to the page listing the Tutor profiles that are pending approval, which will have decreased in size by one.
- The Tutor receives a notification that their profile has been approved.
- If Manager chooses to delete the Tutor by clicking the "Delete" button on their profile, the Tutor instance is deleted by dropping the entry from the database.
Manager chooses to approve the pending Tutor, and the unapproved Tutor profile is toggled to approved in the persistence layer.
Manager chooses to not approve the pending Tutor, and deletes the unapproved Tutor profile from the persistence layer.