Skip to content
GodDrinkTeJAVA edited this page Oct 5, 2019 · 54 revisions

Tutoring Machine, Automate Your Matching for Tutoring

Project Requirements and Specification

Project Requirements and Specification
(Borrowed and Adapted from UCB CS169)

Tutoring Machine
Requirements and Specification Document
09/28/2019, version 1.0.35


1. Project abstract

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.


2. Customer

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.


3. Competitive Landscape

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.


4. User Stories

Feature: Sign up as a tutee

Actors: Tutee
Precondition: No Precondition
Trigger: User(the tutee or parents) clicks "Sign up" button on main page

Scenario:

  1. The page shows the buttons to choose whether the user wants to register as tutee or tutor
  2. Sign up page displays the form to fill out where tutee's personal informations(name, age, phone number, schedule) and ID goes in
  3. User fills out the form and marks some schedules on timetable

Exceptions:

  1. User does not input proper information(Duplicated ID, non-integer value on age ... etc)

Acceptance Test:

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

Scenario:

  1. The page shows the buttons to choose whether the user wants to register as tutee or tutor
  2. Sign up page displays the form to fill out where tutor's personal informations(name, age, level of education, schedule) and ID goes in
  3. The user fills the blanks, uploads the certificate and marks some schedules on timetable
  4. After the test of certificate, the user clicks "Sign up" button

Exceptions:

  1. User does not input proper information(ID duplication, text on age ... etc)
  2. User uploads wrong certificate file

Acceptance Test:

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

Scenario:

  1. log-in page displays input elements for ID and password
  2. User enters ID and password and clicks "Sign in" button

Exceptions:

  1. User enters wrong password
  2. User enters wrong ID

Acceptance Test:

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

Actors:

Tutee or Tutor

Precondition:

Tutee or tutor has signed up

Trigger:

User clicks the ‘Upload Schedule’ button.

Scenario:

  1. The page shows a set of blank squares which consist of time table, and a map from external API next it
  2. Each cell can be checked by dragging, which can be displayed in distinct color
  3. After the user finishes dragging, the map requires the user to provide the geolocational information for the cell

Exceptions:

The user checks the cells but does not put the geolocation ignoring the map, which results in null value.

Acceptance Test:

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

Actors:

Tutee or tutor

Precondition:

Tutee or tutor has signed up and classified as one of the parties(tutoee & tutor).

Trigger:

User clicks the 'Update Profile' on their profile.

Scenario:

  1. The page varies as the database provides the variable to distinguish between tutee and tutor.
  2. Both tutee and tutor have 'Delete account', 'Timetable' menus.
  3. Tutee has menu for 'Request tutor'.
  4. Tutor has menus for 'Tutor list'

Exception:

The user empties the essential inputs and submits.

Acceptance Test:

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

5. interface sketch

images/01edit.png images/02edit.png

Clone this wiki locally