-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Project Requirements and Specification
(Borrowed and Adapted from UCB CS169)
Tutoring Machine
Requirements and Specification Document
09/28/2019, version 1.0.35
Tutoring Machine is an automatic system for tutor-matching, and it is expected to automize great portion of tasks for both operator and user side. It consists of three main functions. First, Tutoring Machine provides appropriate matches between tutors and tutees. Based on information provided by both sides, Tutoring Machine suggests the optimized choices. The condition includes time schedule, geolocational distance, and tutor’s academic background. Second, Tutoring Machine also provides adequate guideline of tutoring fee for both sides. Usually, the bargain is important part and it can be weary task as financial conflicts are involved. Tutoring Machine provides standard fee through various conditions. For example, if distance between them is longer, their price would be more expensive to compensate their effort. Third, Tutoring Machine reduces great amount of effort from service operator. As the service requires personal documents such as certificate, someone needs to identify and verify them. Through Tutoring Machine, tutors just upload their scanned documents, and the service will help organize tutors’ file. Computer vision comes into the task and reads the texts and its composition. By Microsoft Azure Computer Vision API, it detects the name of the university and other meaningful texts, and automatically saves it into tutors’ profile.
The possible customer can be divided into two types.
Tutees are people, or groups of people who wish to be taught by proper tutor. They usually become frustrated by flooding list of tutors, which might lead to a panic decision.
Tutors are defined as personal, non-professional people, who are willing to teach in part-time. They have their own schedule such as study. Therefore they wish their tutoring would not interrupt their prior task.
Even today, lots of the service features for matching tutor have primitive, early web-service era form. Usually the service such as SeoulIn is operated in old-fashioned board system, where tutees post the recruits for their personal tutor. Also, identifying and verifying certificates needs to be handled by service staffs. Those manual works is cumbersome for tutor as it can be prone to leak and be handled only when staffs have spare time to take.
Tutoring Machine is a game changer and it can reform the former age-old matching system.
First, the system itself can check the conditions given by tutors and find the most appropriate tutee. In existing systems, tutors are simply listed in a first-come-last-served order. It is way harder to find the tutor in their location, teaching what they want to learn, and even in the right spot of schedule. In Tutoring Machine, it is planned to suggest the best option for tutees.
Second, for system operators, current system forces them to do manual work, distracting them from concentrating real task. In almost every similar webpage, it requires tutors to hand in their documents, such as certificate. However, it should be sent by mail or tutors should bring it to the operator. Not only is this task cumbersome for tutors, but this is also a bothering routine for system operators. Tutoring Machine just requires tutors to attach their scanned image of documents, and it would be handled by computer vision to read and verify.
Feature: Sign up as a tutee
Actors: Tutee
Precondition: No Precondition
Trigger: User(the tutee or parents) clicks "Sign up" button on main page
- The page shows the buttons to choose whether the user wants to register as tutee or tutor
- Sign up page displays the form to fill out where tutee's personal informations(name, age, phone number, schedule) and ID goes in
- User fills out the form and marks some schedules on timetable
- User does not input proper information(Duplicated ID, non-integer value on age ... etc)
Given The user has filled out all the form.
When the user clicks "Sign up" button,
then the user should see "Completed" message.
Feature: Sign up as a tutor
Actors: Tutor
Precondition: No Precondition
Trigger: User(the tutor) clicks "Sign up" button on main page
- The page shows the buttons to choose whether the user wants to register as tutee or tutor
- Sign up page displays the form to fill out where tutor's personal informations(name, age, level of education, schedule) and ID goes in
- The user fills the blanks, uploads the certificate and marks some schedules on timetable
- After the test of certificate, the user clicks "Sign up" button
- User does not input proper information(ID duplication, text on age ... etc)
- User uploads wrong certificate file
Given The user has filled out all the form and certificate.
When the user clicks "Sign up" button,
then the user should see "Completed" message.
Feature: Sign in
Actors: Tutee or tutor
Precondition: The user has signed up
Trigger: User(the tutee or the tutor) clicks "Sign in" button
- log-in page displays input elements for ID and password
- User enters ID and password and clicks "Sign in" button
- User enters wrong password
- User enters wrong ID
Given the user entered the ID and password.
When the user clicks "Sign in" button,
then the user should see tutor's page or customer's page.
Feature: Upload Schedule
Tutee or Tutor
Tutee or tutor has signed up
User clicks the ‘Upload Schedule’ button.
- The page shows a set of blank squares which consist of time table, and a map from external API next it
- Each cell can be checked by dragging, which can be displayed in distinct color
- After the user finishes dragging, the map requires the user to provide the geolocational information for the cell
The user checks the cells but does not put the geolocation ignoring the map, which results in null value.
Given the user has filled out schedule as the scenario indicates.
The user clicks the "Finish" button.
Then, a pop-up that tells the schedule is saved should show up, and the schedule chart should be refreshed.
Feature: Update Profile
Tutee or tutor
Tutee or tutor has signed up and classified as one of the parties(tutoee & tutor).
User clicks the 'Update Profile' on their profile.
- The page varies as the database provides the variable to distinguish between tutee and tutor.
- Both tutee and tutor have 'Delete account', 'Timetable' menus.
- Tutee has menu for 'Request tutor'.
- Tutor has menus for 'Tutor list'
The user empties the essential inputs and submits.
Given the user has filled out all their forms to update its profile.
The user hits the 'Submit' button.
Then the user should see 'Profile is updated' pop-up, and be redirected to main page.
// Feature: Find tutors with various conditions As a tutee I want to find tutors considering subject, academical background, price, location, etc. So that I can contact to the best tutor
Feature: Contact tutor As a tutee I want to contact tutor using web’s own messaging system and Kakaotalk So that I can talk to tutor
Feature: Pay tuition fee As a tutee I want to pay tuition fee on web So that the I can manage the pay records
Feature: Upload weekly schedule As a tutor or tutee I want to upload my weekly schedule So that I can be properly matched with tutor or tutee considering time and location Feature: Update profile As a tutor I want to update my profile including subjects, academical background, location, contact info, etc. So that I can be recommended to proper tutee
Feature: Authenticate documents As a service provider I want to authenticate tutors’ certificates automatically So that I can manage tutors’ documents real-time without employee to handle