Skip to content

Requirements

Yağmur Kahyaoğlu edited this page Nov 17, 2019 · 37 revisions

Glossary

  • Registered User: a registered person whose purpose is to learn and/or to provide skill or knowledge in one or more languages
  • Guest User: a person who have not logged in or registered yet
  • Admin: a person whose purpose is to keep the platform intact
  • The platform: the product with its whole functionality
  • Web Application: a software which provides a user interface to browse the content on a Web Browser
  • Android Application: a software which provides a user interface to browse the content on Android Mobile Operating System without using a Web Browser
  • API: an Application Programming Interface
  • API Application: a software which provides necessary data to the user interface applications
  • Level: the difficulty of exercises or the language proficiency level of the user(6 categories : A1-A2-B1-B2-C1-C2 according to CEFR standards.

Requirements

1. Functional Requirements

1.1 User Requirements

1.1.1 Registration and Login
1.1.1.1 Registration
  • 1.1.1.1.1 A guest user shall be able register with their e-mail, a unique username and password or continue as a guest user.
1.1.1.2 Login
  • 1.1.1.2.1 Registered users log in by entering their username/e-mail and password.
1.1.1.3 Guest User
  • 1.1.1.3.1 A guest user shall be able to access limited material, in order to get whole material, he/she must register first.
1.1.2 Multi-Language Selection

A registered user shall be able to choose one or more languages(available languages:English,German)in order to learn or provide expert skill or knowledge.

1.1.3 Access to Materials and Exercises
1.1.3.1 Registered User
  • 1.1.3.1.1 A registered user shall be able to access the listening materials according to his/her level.
  • 1.1.3.1.2 A registered user shall be able to access the exercises related to the listening materials.
  • 1.1.3.1.3 A registered user shall be able to access the reading materials according to his/her level.
  • 1.1.3.1.4 A registered user shall be able to access the exercises related to the reading materials.
  • 1.1.3.1.5 A registered user shall be able to access the grammar topics according to his/her level
  • 1.1.3.1.6 A registered user shall be able to access the exercises related to the grammar materials.
  • 1.1.3.1.7 A registered user shall be able to access the vocabulary materials according to his/her level
  • 1.1.3.1.8 A registered user shall be able to access the exercises related to the vocabulary materials.
  • 1.1.3.1.9 A registered user shall be able to access the writing materials.
  • 1.1.3.1.10 A registered user shall be able to access the exercises related to the writing materials.
  • 1.1.3.1.11 A registered user shall be able to upload handwritten writing exercises.
  • 1.1.3.1.12 A registered user shall be able to do writing exercises by typing in the application.
  • 1.1.3.1.13 A registered user shall be able to accept providing writing consultancy to other users.
1.1.3.2 Guest User
  • 1.1.3.2.1 A guest user shall be able to access to a directory of all listening exercises of a selected language categorized by language level.
  • 1.1.3.2.2 A guest user shall be able to access to a directory of all reading exercises of a selected language categorized by language level.
  • 1.1.3.2.3 A guest user shall be able to access to a directory of all grammar exercises of a selected language categorized by language level.
  • 1.1.3.2.4 A guest user shall be able to access to a directory of all vocabulary exercises of a selected language categorized by language level.
1.1.4 Customized Access to Materials and Exercises
  • 1.1.4.1 A registered user shall be able reach the materials and exercises that are for their current level.
  • 1.1.4.2 A registered user shall be able to reach materials and exercises of the lower levels.
1.1.5 Consultancy for Writing Exercises
  • 1.1.5.1 A registered user shall be able to choose a user from the recommended list of users or by searching a user by his/her username in order to consult.
  • 1.1.5.2 A registered user shall be able to send his/her writing exercises to other users who accept to provide writing consultancy in order to get feedback.
1.1.6 User Profiles
1.1.6.1 Username

Username of a registered user shall be able to seen from the profile of the user.

1.1.6.2 Progress in the languages

Registered users shall be able to see the progress of themselves or other users in the languages in terms of the percentage of correct answers, and the current level.

1.1.6.3 Rating

Registered user's rating in terms of average response time, appreciation by registered users shall be able to seen other users.

1.1.6.4 Avatar
  • 1.1.6.4.1 A registered user shall have an avatar.
  • 1.1.6.4.2 Registered users shall be able to change their own avatars.
1.1.6.5 Bio

Registered users should be able to add the information about their biography.

1.1.6.6 Guest User

A guest user should have no profile.

1.1.7 Annotation

Registered users shall be able to annotate texts and images within the system.

1.1.8 New Materials
  • 1.1.8.1 Registered users in the corresponding language shall be able to upload new learning materials and exercises.
  • 1.1.8.2 Newly-added materials shall be evaluated by the admin users.
  • 1.1.8.3 Materials which are approved by any admin user shall be integrated into the system.
1.1.9 Messaging
  • 1.1.9.1 Registered users shall be able to send a chat request to other users in the corresponding language that user want to learn.
  • 1.1.9.2 Registered users shall be able to accept the chat request received from other registered users.
  • 1.1.9.3 Registered users shall be able to send text messages to other registered users.
  • 1.1.9.4 Registered users shall be able to receive text mes sages from other registered users.
1.1.10 Search
  • 1.1.10.1 All registered users shall be able to do a basic search by using keywords.
  • 1.1.10.2 Registered users shall be able to do an advanced search to filter the content by topic, difficulty, scope, and tag.
1.1.11 Report Harresment
  • 1.1.11.1 Registered users should be able to report disturbing behavioral acts.
  • 1.1.11.2 All users should be able to report materials, if they contain racist insults or inappropriate contents.
1.1.12 Commenting

Registered users should be able to make a comment to any user .It will be appended to the commented user’s profile

1.2 System Requirements

1.2.1 Level Determination
1.2.1.1 Level Determination for New Users

The system shall provide a test to new users to determine their level of knowledge about language.

1.2.1.2 Level Determination for Users

The system shall provide a test to registered users after completing all the exercises for their current proficiency level or any arbitrary time that is chosen by the user to determine their new level of knowledge about language.

1.2.2 Automated Grading
  • 1.2.2.1 The system shall automatically grade exercises except for writing exercises
  • 1.2.2.2 The system shall highlight the correct answer if the provided one by the user is wrong.
1.2.3 User Recommendation

The system shall recommend other users to users to consult for writing according to their proficiency level in the corresponding language.

1.2.4 Progress Statistics

The system shall provide statistics about completed/uncompleted exercises, achievement.

1.2.5 Accepting Consultancy

The system shall provide an option for users to accept if they are willing to provide writing consultancy for other users.

1.2.6 Semantic Searching

The system shall provide a semantic searching mechanism.

1.2.7 Admin
  • 1.2.7.1 The system shall have some admins who are responsible of reports and new materials.
  • 1.2.7.2 An admin shall evaluate the report that come from the users.
  • 1.2.7.3 An admin shall delete the racist or insultive contents that was reported by the users.
  • 1.2.7.4 An admin shall evaluate the new materials that are added by users and shall accept or reject the material to be integrated to the system.

2. Nonfunctional Requirements

2.1 Availability Requirements

The platform and the materials should be accessible at any time, from anywhere.

2.2 Portability Requirements

2.2.1 Web application
  • 2.2.1.1 The Web application shall support Google Chrome 48 and later.
  • 2.2.1.2 The Web application should support Google Chrome 32 and later.
2.2.2 Android
  • 2.2.2.1 The Android Application shall support Android 6: Marshmallow and later in order to support modern devices.
  • 2.2.2.2 The Android Application should support Android 4.4: KitKat and later in order to support older devices.
2.2.3 API
  • 2.2.3.1 The API Application shall be deployable on a remote and manually configurable remote server.
  • 2.2.3.2 The API Application should be deployed to Amazon EC2 or DigitalOcean remote server.

2.3 Performance Requirements

The system should respond to any request in 5 seconds at most.

2.4 Security Requirements

2.4.1 Encryption

The system should encrypt the traffic by using HTTPS.

2.4.2 Password

The system should force the users to pick at least six characters long password.

2.5 Privacy Requirements

The personal information, contact information, copyrighted contents, license issues and everything related to these paradigms shall be respected and considered.

2.6 Standards

  • 2.6.1 W3C Web Annotation Data Model shall be used for Annotation.
  • 2.6.2 The implementation of this system shall follow the standards introduced by the World Wide Web Consortium (W3C).
Clone this wiki locally