Skip to content

Project Requirements

Egemen Göl edited this page Nov 23, 2019 · 21 revisions

Glossary

  • User: A person using the app/web platform of the project.
    • Guest: A user who is not registered yet.
    • Registered: A user who has signed up to the platform.
    • Admin: A user with special privileges.
  • Language: One of English/Turkish/Chinese or other provided language in the platform.
  • Learning Material: Content in one of the categories below, in one of the types below, in a given language used to teach users that language.
    • Categories: Categories of a learning material, one of Listening, Reading, Grammar, Vocabulary or Writing.
      • Listening: Materials relating to improving listening skills in a given language.
      • Reading: Materials relating to improving reading skills in a given language.
      • Grammar: Materials relating to improving grammar skills in a given language.
      • Vocabulary: Materials relating to improving vocabulary skills in a given language.
      • Writing: Materials relating to improving writing skills in a given language.
    • Types: Types of a learning material, one of Notes, Assignment, Exercise or Exam.
      • Notes: Materials that present notes about the content.
      • Assignments: Materials that require user to write a long answer(paragraph, essay, etc.) and another user to review & evaluate.
      • Exercises: Materials that require user to answer questions which can be automatically graded.
  • Proficiency Exam: A special exam consisting of questions used to evaluate the expertise of a user in a given language if the user wants to start directly from any level higher than A1.
  • Achievement: A user can get special labels according to accomplishing some tasks with given conditions, such as in 2 minutes.
  • Progress of Learning: The statistics about the users' learning history of a given language i.e. accomplished exercises, assignments, duration.
  • Interaction: Users can interact with each other in either one of the ways below.
    • Communication: A user can send a request to another user to chat privately.
      • Request: When a user sends a chat request to another user, chatting only starts after receiver user accepts the request.
    • Review: The process of a user grading another user's writing assignment, and providing feedback to that user related to the assignment.
      • Feedback: An explanation of how the user can do better or an error found in one's writing assignment.
      • Annotation: A user can add annotation to the writing assignment he/she is reviewing to give feedback to the reviewed.
  • Rating: A user can rate other users he/she interacted based on the related interaction.
  • Comment: A user can comment about other users he/she interacted based on the related interaction.
  • Level of Expertise:: The users' level of proficiency shown as either A1, A2, B1, B2, C1 or C2 in a given language.
  • Search System: A system allowing users to search for contents in a given language.
    • Basic Search System: A search system based on keywords and semantic search.
    • Advanced Search System: A search system that allows search and filter features by type, difficulty and tags.
  • Contribution System: Users can upload new learning materials and suggest them to be added to the system, or they can suggest new tags to existing material.
    • Verification: Admins can verify suggested tags to existing material to add them to the system. Also, for suggested new user uploaded materials, either a specified amount of users can support the suggestion to approval or an admin user can verify the material by himself/herself.

Requirements

1. Functional Requirements

1.1. User Requirements

  • 1.1.1. Users

    • 1.1.1.1. There will be three types of users.

    • 1.1.1.1.1. Guests

      • 1.1.1.1.1.1. Guest users can only access 5 exercises for each type of learning materials(except writing) before being prompted for registering.
    • 1.1.1.1.2. Registered Users

      • 1.1.1.1.2.1. Registered users should access to materials anytime and anywhere.
      • 1.1.1.1.2.2. Proficiency exam
        • 1.1.1.1.2.2.1. The users who want to start from higher level, shall take a proficiency exam.
        • 1.1.1.1.2.2.2. Users shall be able to see their exam results and see the content of corresponding level of their scores.
      • 1.1.1.1.2.3. After every question, the users shall be able to see the correct answer.
      • 1.1.1.1.2.4. Users shall be able to send their essays to other users for grading which includes feedback as well as the grade.
      • 1.1.1.1.2.5. If one user has graded other's assignment, or they have conversed via messaging, they shall be able to rate or comment on each other.
      • 1.1.1.1.2.6. Users shall be able to see their learning process such as completed exercises, grade achievements for each language.
      • 1.1.1.1.2.7. Users shall be able to upload their suggestion of some learning materials.
      • 1.1.1.1.2.8. Users shall be able to declare whether they want to review essays or not.
      • 1.1.1.1.2.9. Users shall be able to report inappropriate behavior and sensitive content.
      • 1.1.1.1.2.10. Users' profile pages should include the review count, rating, achievements, uploaded contents and comments about them.
    • 1.1.1.1.3. Administrators

      • 1.1.1.1.3.1. Administrators shall handle reports and be able to suspend or ban user accounts.
      • 1.1.1.1.3.2. Administrators shall be able to accept or reject a suggested content.
  • 1.1.2. Communication

    • 1.1.2.1. Users shall be able to communicate over a messaging channel.
      • 1.1.2.1.1. Two users can use the messaging service if and only if one sends a request for communication and the other one accepts.
      • 1.1.2.1.2. Users shall be able to see their message requests and accept or reject them.
  • 1.1.3. Login and Sign-up

    • 1.1.3.1. Unregistered users shall be able to register after giving the necessary information.
      • 1.1.3.1.1. Users shall provide their email address while registering.
      • 1.1.3.1.2. Users shall provide their names while registering.
      • 1.1.3.1.3. Users shall set up a password while registering to the system.
      • 1.1.3.1.4. Users shall provide their native languages whlie registering.
    • 1.1.3.2. Registered users shall be able to login to the system.
      • 1.1.3.2.1. Users shall be able to login to the system using their email address and their passwords.
      • 1.1.3.2.2. The users that had forgotten their passwords shall be able to set up a new password with a verification e-mail.

1.2. System Requirements

  • 1.2.1. Learning Materials
    • 1.2.1.1. There should be learning materials in different languages.
    • 1.2.1.2. The learning materials should be mapped into 5 different categories: listening, reading, grammar, vocabulary and writing.
    • 1.2.1.3. The materials uploaded by users exist in the system after verification.
    • 1.2.1.4. The materials can have one or more images or sounds.
  • 1.2.2. Assignments and Exams
    • 1.2.2.1. Listening, reading, grammar and vocabulary categories of assignments or exams will be graded automatically by the system.
    • 1.2.2.2. A user should be able to pick the person who shall grade the writing assignment.
    • 1.2.2.3. System provides the answers after every question in exercises.
    • 1.2.2.4. Writing assignments should be uploaded by tags in order for the system to suggest reviewers.
  • 1.2.3. Languages
    • 1.2.3.1. The system shall support multiple languages.
  • 1.2.4. Recommendation
    • 1.2.4.1. For grading writing assignments, the system shall recommend a selection of users.
      • 1.2.4.1.1. the system shall provide a recommendation mechanism that recommends a set of users as potential evaluators of the writing exercises.
  • 1.2.5. Annotation
    • 1.2.5.1. The system shall provide an annotation mechanism for enabling users to annotate text and images.
  • 1.2.6. Rating
    • 1.2.6.1. The system shall support rating and comments only between interacting users.
  • 1.2.7. Contribution
    • 1.2.7.1. New learning materials should be suggested by the users who upload their suggested materials.
    • 1.2.7.2. The admin users shall be able to accept or reject the uploaded learning materials by the users.
  • 1.2.8. Searching
    • 1.2.8.1. The system shall provide a basic search mechanism based on the keywords entered by the users.
    • 1.2.8.2. The system shall provide an advanced search mechanism to filter the content by difficulty, tag, type and like count.
    • 1.2.8.3. The system shall provide an user search mechanism by their name, ratings' value and count, previously reviewed tags and language expertise.
  • 1.2.9. Tagging
    • 1.2.9.1 The system should support a set of tags with every writing assignment.
    • 1.2.9.2 The system should suggest reviewers for writing assignments considering tags of the assignment and the reviewer.
  • 1.2.10. Liking and Reporting
    • 1.2.10.1. Users should be able to report any content for inappropriate, offensive or other reasons.

2. Non-Functional Requirements

2.1. Security

  • 2.1.1. User data shall be protected and used according to LAW ON THE PROTECTION OF PERSONAL DATA
  • 2.1.2. The personal information, contact information, copyrighted contents, license issues and everything related to these paradigms should be respected and considered.
  • 2.1.3. System shall be protected against SQL injection.
  • 2.1.4. System should use encryption for personal messages between users.
  • 2.1.5. Storing of passwords should conform to security standards such as hashing.

2.2. Reliability

  • 2.2.1. The system shall serve to 300 users without breaking.

2.3. Availability

  • 2.3.1. Project shall be available on both Android and Web platforms.
  • 2.3.2. The application should be deployable on a manually configurable remote server.

2.4. Protocols & Standards

2.5. Performance

  • 2.5.1. The system shall respond to 100 requests per second.
  • 2.5.2. Maximum response time shall be at most 500 ms.

Change Log

26 February 2019

  • Added Glossary
  • Fixed requirements according to feedback
  • Updated requirements to match with the answers from customer meeting

27 February 2019

  • Added the requirement part 1.1.3. Further changes will be made to this section after determining the details.

3 March 2019

  • Updated non-functional requirements.

5 March 2019

  • Proof-read and made minor corrections.

14 March 2019

  • Guest user's access details are edited.
  • Added a part about approval of learning materials. (1.2.7 edited)
  • Updated registered users part about reviewing essays.

28 September 2019

  • Removed accessibility
  • Revised tags and reviews.
  • Every user can suggest content, admins accept or reject them.
  • Minor corrections.
  • User search added.
  • Liking and reporting content is added.

🏠 Home

📃 Assignments

👯 Team Members

📚 Resources

Clone this wiki locally