Skip to content
Kuda Christine edited this page May 13, 2022 · 7 revisions

1. Introduction:

1.1. Purpose of Product

The Tutor Me project is an idea that aims to provide a platform where students that need help academically can easily find a tutor that can help them with specific modules. This project will be useful especially now that the covid-19 pandemic has made it much difficult to have face-to-face conversations, ask for help with their studies from fellow students, and interact with lecturers for additional assistance. As with the rest of the world, every matter related to students is moving towards being digital and virtual.

1.2. Scope Of Product

This project focuses on providing a platform to ease the process of:

  • Registering as a Tutor that can tutor certain modules for a price,
  • Registering as a Tutee that needs a tutor for certain modules,
  • Allowing the tutor to select the modules he/she tutors for a fee,
  • Allowing the tutee to choose which subject(s) they need help with from certain tutors,
  • One-on-one chat functionality between Tutees and Tutors,
  • Group chat creation for students requiring assistance with the same modules or subjects,
  • Sending and receiving notifications when Tutor is found,
  • Video calling functionality in-app to allow students to virtually meet,
  • After implementing these core functionalities of this project, we would start looking at additional functionalities like filtering tutors by gender to enable students to choose someone that they are comfortable with. We would also look into implementing a dark mode of the app for users that prefer it over light mode. The project will be implemented as a cross platform mobile app for Android and iOS.

2. User Characteristics:

The different users that will be using the system are the following:

  • Tutor - This group of users will be able to login/ register as a Tutor (A student at the university that wants to teach and/or mentor other students specific modules). They will also be able to register the modules that they are willing to tutor for at the university and mention their price. They do this by filling in a form that asks for their student number, Name, Surname, Module, mark obtained for the module and price/hr. They should be able to see the list of tutees that they are responsible for. They should be an option to chat to them, video call them, start a group chat

  • Tutee - This group of users are students who are enrolled in an Institution and require a mentor or tutor in specific subjects/modules. This group will be able to login/register, upload relevant documents/ submit relevant information for validation. They will then be able to scout for potential tutors, by looking at the tutors attributes, such as their age, gender and transcript/module marks, rating and price. They will be able to request tutoring from the chosen tutor candidates and interact further with the tutor in the form of chat messages and or video calling. Tutees will not be able to communicate further with the tutor if the request was rejected.

  • Admin - This group of users are able to do maintenance on the application. For example, They can remove users that misbehave or break the code of conduct.

A student can both be a tutor and a tutee but will need to register twice as different roles. This is to allow for security within the system. Certain things can only be seen by certain users.

Use Case Diagram

UseCaseDiagram

3. Functional Requirements

  • FR1: The system will allow tutors to register and login students who want to be tutors or tutees. A user who wants to be both a tutor and tutee will need to register twice.
  • FR2: The system will allow tutees to request for tutoring from tutors.
  • FR3: The system will allow tutors to accept or reject tutee requests.
  • FR4: The system will allow tutors and tutees who are linked to communicate via chat messages and or video calling functionalities.
  • FR5: The system will allow users(Tutees,Tutors) to edit their profiles, this includes uploading their profile pictures , adding a short description about themselves.
  • FR6: The system will not allow users to befriend each other or search for their peers. This is to allow students to openly reach out for help without feeling like someone is watching them.

4. Class Diagram

UseCaseDiagram

5. Quality Requirements

  • The Tutor_Me app must be able to process and store multiple requests over the whole system.
  • The Tutor_Me app must be able to handle these multiple request simultaneously.
  • The Tutor_Me app should be able to keep everyone's private data confidential
  • A scalable database management system, as the system, will be dealing with a large number of users.
  • The Tutor_Me app shall be receiving a large number of request daily. To which have to be processed and stored and in the database, in a matter of seconds.
  • The Tutor_Me feature will be sending notifications to students within seconds.
  • The database should be normalised to prevent redundant data and improve performance.
  • The app should be intuitive to use so that users can focus on the tutoring rather than the usage of the app

6. Trace-ability Matrix

Trace-ability Matrix

7. User Stories

User Stories

8. System Constraints

  • Open-source software
  • Windows/Linux/MacOS for development
  • Android app must receive highest priority

9. System Design

  • Cross platform mobile app for Android and iOS
  • A backend to handle mobile app requests
  • A database for persistent storage and access of data.
  • API integration with external services

10. Technology Specifications

  • Flutter/Dart for cross-platform mobile app development
  • Latest stable .NET Core version for backend implementation and to cater for a microservices architecture
  • Microsoft SQL Server for the database

11. Feasibility Study

The TutorMe application is required to be completed in less than a year. The main aim of this application is to provide a platform in which tutees can find tutors that attend the same institution for specific modules online. We are following a more agile methodology approach to implementing this application. The desire for quality of the feature and understanding the process is the main aim of the team.

Risks:

  • Running out of time and feature not implemented
  • Bug ridden feature implemented
  • Incoherent design for following group
  • Project Owners not agreeing with feature analysis
  • Feature is poorly designed
  • Insecure feature

Considerations:

  • Time constraint of team’s other commitments with university
  • Quality constraint of expectations from project owners
  • Learning constraint of software engineering process

Acceptance Criteria

  • The system should be able to register and login a user as either a tutor or a tutee.
  • The system should be able to allow tutee select gender and age preferences, to enable the application to suggest potential tutors.
  • The system should be able to allow both the tutee and tutor edit their profiles details.
  • The system should be able to allow tutees add modules they need tutoring for.
  • The system should be able to allow tutors add modules they would like tot tutor other students.
  • The system should be able to cater for both dark and light theme lovers.
  • The system should be able to allow the tutor start a video call inorder to teach students who need help with the same modules.
  • The system should be able to allow for a one-one chat functionality between tutees and tutors.
  • The system should be able to allow for many connections to take place at the same time.