-
Notifications
You must be signed in to change notification settings - Fork 8
Requirements
Mehmet Gokay Yildiz edited this page Jan 1, 2023
·
115 revisions
- Achievement: Earnable success token that displays the completion of a course or other general accomplishments.
- Activity: User behavior including creating on enrolling in learning spaces. Displayed on user profile for the other users.
- Administrator: User with additional privileges in a course, the course admin is the course creator by default. Additional admins can be determined by the course creator optionally.
- Annotate: To supply with critical or explanatory notes; comment upon in notes.
- Authentication: The steps of establishing identity and verifying permission to access the platform.
- Avatar: A static image that acts as a visual representation for the user.
- Bio: A short text field edited by the user that is displayed on the user profile page.
- Comment: A text of feedback provided with the rating when responding to an entry in the learning space.
- Learning-Space: A co-learning platform instance where users can share various materials, on a specified subject.
- Event: In-person meetings organized by the lecturer of a course, displayed on the course page. Includes geolocation, date, duration and person capacity.
- Filter: An algorithm that categorizes, sorts, prioritizes, or blocks data through rule-based protocols.
- Follow: Establish contact with another user in order to get in touch more easily and view their activities.
- Forum: Communication platform provided within the course in order for the learners and the lecturer to interact.
- Highlight: To emphasize or make prominent.
- Inactivity: Lack of app use or interaction for a continuous amount of time.
- Incomplete: A temporary grade indicating that a learner has not fulfilled one or more of the essential requirements for a course.
- Interface: Graphic display of the application that makes it easier for use.
- Knowledge base: A store of information or data that is available to draw on.
- Co-learner: User enrolled in a learning space.
- Message: A piece of information that is sent through Forum which contains letters and emojis.
- Milestone: A significant point of progress that is reached in a course.
- Note: A text of comment or explanation created by the user.
- Poll: List of questions with options to choose from and no correct answer.
- Private: A piece of information that can only be seen by chosen users.
- Profile Page: Special page created for each user that contains their information.
- Public: A piece of information that can be seen by all users.
- Quiz: A special type of poll containing questions with a determined correct answer.
- Reputation: Overall representation of how well a user's learning spaces have been rated.
- Semantic Search: Semantic search is an alternative to the lexical search where contextual meaning is used to improve the accuracy of the results.
- Strong password: A password whose length is at least 8 and which contains at least one number, one upper and one lower case letter.
- Tag: Label used to categorize or identify content.
- Typeface: Design of the lettering that can include variation in size, weight, slope, width, etc.
- User: A person utilizing the application.
1.1.1. 🔑 Authentication
1.1.1.1. Signup
- 1.1.1.1.1. Guests shall enter an unused username, an unregistered email address, and a strong password to signup.
- 1.1.1.1.2. Guests shall agree to the privacy policy and terms&conditions to signup.
1.1.1.2. Login
- 1.1.1.2.1. Users shall provide their usernames and passwords to log in.
1.1.1.3. Email Verification
- 1.1.1.3.1. Users shall enter the received verification codes (via their registered email addresses) to complete the email verification process.
1.1.1.4. Forgot Password
- 1.1.1.4.1. Users shall first enter the email addresses they signed up with and then the verification code they received.
- 1.1.1.4.2. Users shall be authenticated after verification and be logged in.
1.1.1.5. Logout
- 1.1.1.5.1. Users shall be able to log out.
1.1.1.6. Change Password
- 1.1.1.6.1. Users shall be able to change their passwords from the settings screen.
1.1.2. 🗿 Profile Page
- 1.1.2.1. Users shall have a profile page.
- 1.1.2.2. Users shall be able to edit their profile page.
- 1.1.2.3. Users shall be able to display their full name on their profile pages.
- 1.1.2.4. Users shall have a profile picture.
- 1.1.2.5. Users shall be able to change their profile picture.
- 1.1.2.6. Users shall have a bio in their profile pages.
- 1.1.2.7. Users shall have a "My Events" section on their profile pages.
- 1.1.2.8. Users shall be able to determine their profile page visibility as public or private.
- 1.1.2.9. Followers, Follows, My Events, Interest Areas, Achievements, Progress, Notes, and Annotations sections shall be hidden on private profiles.
1.1.2.10. Interests and Knowledge
- 1.1.2.10.1 Users shall identify their interest areas
- 1.1.2.10.2 Users shall display their interest areas in their profile pages
1.1.2.11. Achievements
- 1.1.2.11.1. Users shall be able to earn achievements via the completion of a specific amount of Learning Spaces with related topics.
- 1.1.2.11.2. Users shall view their achievements from the achievements section of their profile pages.
1.1.2.12. Progress Tracking
- 1.1.2.12.1. Users shall be able to track their progress.
1.1.2.13. Notes
- 1.1.2.13.1. Users shall view their notes taken on a learning space in the notes section of their profile pages.
1.1.2.14. Annotations
- 1.1.2.14.1. Users shall be able to annotate post images and texts in learning spaces.
- 1.1.2.14.2. Users shall be able to view annotations made by other users.
- 1.1.2.14.3. Users shall be able to browse annotations by category, by course, by history, and by upvotes they have received.
- 1.1.2.14.4. Users shall access the annotations they have added for course material from the annotations section of their profile pages.
1.1.2.15. Learning Spaces
- 1.1.2.15.1. Users shall be able to see all learning spaces they created or enrolled in.
1.1.2.16. Reputation
- 1.1.2.16.1. Users shall be able to see the feedback they have received for their learning content contributions in the recommendations section.
1.1.3 👩🏼💻 User Interaction
1.1.3.1. User-User Interaction
- 1.1.3.1.1. Users shall see each other's profiles.
- 1.1.3.1.2. Users shall be able to follow each other.
- 1.1.3.1.3. Users shall see the information of people they follow; their achievements and activities.
- 1.1.3.1.4. Users shall be able to share notes with each other.
- 1.1.3.1.5. Users shall be able to block other users.
- 1.1.3.1.6. Users could prevent other users to see their profile by blocking them.
1.1.3.2. User-Learning Space Interaction
1.1.3.2.1. Creating Learning Space & Content
- 1.1.3.2.1.1. Users shall enter a title and description and choose an icon and categories to create a learning space.
1.1.3.2.2. Editing Learning Spaces
- 1.1.3.2.2.1. Users shall be able to edit all material they provided.
- 1.1.3.2.2.2. Users shall be able to delete learning spaces they created.
1.1.3.2.3. Enrolling to Learning Spaces
- 1.1.3.2.3.1. Users shall see the contents in the learning space.
- 1.1.3.2.3.2. Users shall be able to navigate learning material in the order they desire.
- 1.1.3.2.3.3. Users shall be able to review other users in terms of providing learning material by giving stars and optionally providing feedback.
- 1.1.3.2.3.4. Users shall be able to report inappropriate comments in the discussion forum of the learning space.
1.1.3.2.4. Notes and Annotation
- 1.1.3.2.4.1. Each user shall have his/her notes section under each lecture.
- 1.1.3.2.4.2. Users shall create and edit notes under the notes section via typing.
- 1.1.3.2.4.3. Users shall be able to mention other notes from other learning spaces or/and other users in his/her.
- 1.1.3.2.4.4. Users shall connect, annotate and tag notes.
1.1.3.2.5. Community Events
- 1.1.3.2.5.1. Participants shall be able to create community events for that learning space.
- 1.1.3.2.5.2. Created events shall only be available to currently enrolled learners.
- 1.1.3.2.5.3. Created events should have a specific date, duration, location and limit for the number of participants.
- 1.1.3.2.5.4. The event creator can give a brief description of the topics of discussion for the event.
- 1.1.3.2.5.5. Event creators shall be able to cancel events that they have created.
- 1.1.3.2.5.6. Created events should be visible on the learning space info page along with the date, duration, location and number of participants.
- 1.1.3.2.5.7. The number of learners who will join the event will be visible on the event information.
1.1.3.2.6. Discussions Forum
- 1.1.3.2.7.1. Participants of a learning space shall be able to create discussion posts.
1.1.4 📝 Learning Space Structure
- 1.1.4.1. Participants shall deliver learning material in form of posts which contain text and images.
- 1.1.4.2. Learning Space shall have the main page where users can see introduction, events, sections, notes, annotations.
- 1.1.4.3. The creator of a learning space shall be able to add additional admins to the learning space.
1.1.5 🛂 Administration
- 1.1.5.1. Admin shall evaluate reports and takes action accordingly.
- 1.1.5.2. Admin shall be able to ban users permanently and temporarily.
- 1.1.5.3. Admin shall be able to view all contents.
- 1.1.5.4. Admin shall be able to remove any content.
1.2.1. 💡 Recommendations
- 1.2.1.1. Users will get various learning spaces as recommendations.
- 1.2.1.2. These recommendations will be based on users' preferences about the topics of learning space. Learning spaces that have similar topics will be chosen to recommend.
- 1.2.1.3. The recommendations will be displayed on the home page.
1.2.2. 🔔 Notifications
- 1.2.2.1 Users shall get notifications from the system.
- 1.2.2.2 The system shall notify users who did not complete almost done section of the registration.
- 1.2.2.3 The system shall notify users regarding any posts on the discussion forum of the lectures they take or give.
- 1.2.2.4 The system shall notify users when other users share notes with them.
- 1.2.2.5 The system shall notify users when they earn an achievement.
- 1.2.2.6 The system shall notify users to give feedback after each completed lecture.
- 1.2.2.7 The system shall notify lecturers when a user provides feedback on one of their courses.
- 1.2.2.8 The system shall notify users when an event is created for a lecture they are taking or giving.
- 1.2.2.9 The system shall notify users when a poll is created in a lecture they are taking.
- 1.2.2.10 The system shall notify users when they do not use the application for more than one day.
- 1.2.2.11 Users shall be able to turn their notifications on or off.
- 1.2.2.12 The system shall notify users when other users follow them.
1.2.3. 🔎 Searching and Browsing
- 1.2.3.1 The system shall implement semantic searching.
- 1.2.3.2 The system shall allow users to search for other users.
- 1.2.3.2.1 The system shall allow searching for users by their username.
- 1.2.3.3 The system shall allow users to search for courses.
- 1.2.3.4 The system shall offer filters for search results.
- 1.2.3.4.1 The system shall allow users to filter search results as only users or only courses.
- 1.2.3.5 The system shall allow users to browse for recommended courses.
- 1.2.3.6 The system shall allow users to browse for learning spaces created or joined by a user's from his/her profile page.
- 1.2.3.7 The system shall allow users to browse their notes.
- 1.2.3.8 The system shall allow users to browse for notes filtered by their tags.
- 1.2.3.9 The system shall allow users to browse the activities and achievements of users they follow on the user's profile page.
1.2.5. 💬 Forum/Discussion
- 1.2.5.1. The forum features should be unique to the learning space. There is also a discussion section for the learning space.
- 1.2.5.2. The discussion contents should be stored.
- 1.2.5.3. The forum should include a timestamp for each entry and the sender's name should be at top of the each entry.
- 1.2.5.4. The discussion entry creator's name should direct any user to his/her profile page.
1.2.6. 🏁 Almost Done
- 1.2.6.1. System shall allow users to optionally provide additional information about their full names, birth date, state of education, gender just after the signup stage.
- 1.2.6.2. System should allow users to select educational topics, and titles which they are interested in in the almost done stage.
1.2.7. 🗑️ Delete Account
- 1.2.7.1. System shall allow users to delete their accounts.
- 1.2.7.2. All personalized information about the deleted users have to be anonymized or completely deleted according to the privacy policy that will be determined later on.
1.2.8. 🗒️ Annotations
- 1.2.8.1. Users shall be able to create annotations.
- 1.2.8.2. Annotations should comply to the W3 Web Annotation Data Model.
- 1.2.8.3. Owner of the annotations shall be able to set annotations as public or private.
- 1.2.8.4. Created annotations shall be reachable from both profile page and relevant target resource(s).
- 1.2.8.5. Annotations may have a body attribute.
- 1.2.8.6. Annotations shall have a target attribute.
- 1.2.8.7. Annotations may have more than one body attribute and one target attribute.
- 1.2.8.8. Annotations with public visibility should be listed on that annotation's creator's profile page.
2.1. 🔓 Availability and Accessibility
- 2.1.1. System should have a Website interface that provides an web specific user experience.
- 2.1.2. System should have a Android application interface that provides an mobile specific user experience.
- 2.1.3. System should support UTF-8 character encoding.
- 2.1.4. System should support English language.
2.2. 🔏 Privacy
- 2.2.1. Ethical concerns must be considered, so system must follow the rules defined by GDPR/KVKK.
- 2.2.1.1 A well-defined explanation about how users data will be used must be given to users.
- 2.2.1.2 Users must agree to the Privacy Policy and User Agreement.
- 2.2.1.3 If any change happens in the policy, users must be notified about it.
- 2.2.2. Learning Spaces can be private or public. If a LS is private, its content should not be visible to every user in the app.
2.3. 🛡️ Security
- 2.3.1 All sensitive data shall be encrypted before storing.
- 2.3.2 The system shall block the account if any security issue is observed.
2.4. 🔧 Performance and Reliability
- 2.4.1 The system should be able to handle at least 10.000 users and 500 user actions simultaneously.
- 2.4.2 The system should have a response time of at most 2.0 seconds excluding network based delay.
2.5. 🧩 Usability
- 2.5.1 The system should provide a user-friendly interface. It should contain a basic site map and should not contain a confusing linking system.
- 2.5.2 The system should provide a direct feedback mechanism. Upon interaction, user shall be informed about success or failure of their action.
- 2.5.3 The system should have a well-chosen typeface that should be readable and clean.
2.6. 🌋 Disaster Recovery
- 2.6.1 The system should get backups and send them off-site at regular intervals for the possibility of disasters.
- 2.6.2 System shall be able to reinitialize itself and continue functioning in case of an unexpected shutdown.
- 2.6.3 System shall keep logs regarding the unexpected shutdown.
Group Members
Meeting Notes of 451
Mobile Team Meeting Notes
Back-End Team Meeting Notes
Front-End Team Meeting Notes
Meeting Notes of 352
- Meeting #1 (04.03.2022)
- Meeting #2 (10.03.2022)
- Meeting #3 (17.03.2022)
- Meeting #4 (24.03.2022)
- Meeting #5 (31.03.2022)
- Meeting #5.1 (02.04.2022)
- Meeting #5.2 (05.04.2022)
- Meeting #6 (07.04.2022)
- Meeting #6.1 (12.04.2022)
- Meeting #7 (14.04.2022)
- Meeting #8 (21.04.2022)
- Meeting #9 (01.05.2022)
- Meeting #10 (12.05.2022)
- Practice App Requirements
- Practice App Use Case Diagram
- Practice App Sequence Diagram
- Practice App API Documentation
CMPE451 Milestones
- Will be added when ready