-
Notifications
You must be signed in to change notification settings - Fork 2
Project Requirements
Egemen Göl edited this page Nov 23, 2019
·
21 revisions
-
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.
-
Categories: Categories of a learning material, one of Listening, Reading, Grammar, Vocabulary or Writing.
-
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.
-
Communication: A user can send a request to another user to chat privately.
- 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
orC2
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.
-
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.2.1. Users shall be able to communicate over a messaging channel.
-
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.1.3.1. Unregistered users shall be able to register after giving the necessary information.
-
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.4.1. For grading writing assignments, the system shall recommend a selection of users.
-
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.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.1. The system shall serve to 300 users without breaking.
- 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.1. The system shall support the W3C Web Annotation Data Model.
- 2.5.1. The system shall respond to 100 requests per second.
- 2.5.2. Maximum response time shall be at most 500 ms.
- Added Glossary
- Fixed requirements according to feedback
- Updated requirements to match with the answers from customer meeting
- Added the requirement part 1.1.3. Further changes will be made to this section after determining the details.
- Updated non-functional requirements.
- Proof-read and made minor corrections.
- 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.
- 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.