Glossary and Requirements for PracticeApp - bounswe/bounswe2022group1 GitHub Wiki

Glossary for Practice Online Learning Platform

  1. Online Learning Platform: An online platform that enables student to learn by their own without face-to-face communication.

  2. Teacher: Anyone who knows a topic well and willing to teach it to other people.

  3. Learner: Anyone who is interested in learning.

  4. e-learning: Learning from digital platforms instead of on-site education.

  5. User Profile: A virtual entity for the real user, which includes collection of information about a user describing her interests and knowledge.

  6. Recommendations: Suggestions that are offered to the user considering their personal traits, previous usage, likes etc.

  7. Learning Environment: An environment containing all the learning related things or activities. This includes teacher, learner, learning platform, quizzes, assignments and learning place...

  8. Reputation: A score for teachers gathered by the feedbacks of learners that evaluates the teaching performance.

  9. Learning Experience: All the things related to learner's individual learning process. That includes their progress, feedbacks, evaluations etc.

  10. Course Statistics: The statistics related to a course: i.e. its rating, number of attendees etc.

  11. RESTful API: An architectural style for distributed hypermedia systems.

  12. Preferences: The learning preferences of a student consisting of the topics the student wants to learn and the level that the student wants to learn.

Requirements

1. Functional Requirements

1.1 User Requirements

1.1.1 Authentication
1.1.1.1 Sign up
  • 1.1.1.1.1 Users shall sign up to enroll the courses on the online learning platform by specifying their username and password in the sign-up process.
  • 1.1.1.1.2 Guest user’s username should not be taken by another account beforehand.
  • 1.1.1.1.3 When guest user signs up, she is redirected to sign-in page.
1.1.1.2 Username, password
  • 1.1.1.2.1 A user shall select a unique username and a password containing at least 8 letters.
1.1.1.3 Sign in
  • 1.1.1.4.1 A user shall enter her password correctly to log in.
1.1.2 Profile
1.1.2.1 Profile Specifications
  • 1.1.2.1.1 Every user shall have a profile page or customized main index page.
  • 1.1.2.1.2 A student user shall be able to specify their interests-preferences.
  • 1.1.2.1.5 A user shall be able to see her courses (attended or offered).
1.1.3 Guest
  • 1.1.3.1 Guest users shall be able to sign-up
  • 1.1.3.2 Guest users shall be able to sign-in
1.1.4 Student
  • 1.1.4.1 A user who is registered as a student during the sign up process is considered as a student.
  • 1.1.4.2 Student shall be able to enroll a course.
  • 1.1.4.3 Student shall be able to give rate to courses.
  • 1.1.4.4 Students shall be able to see their courses.
  • 1.1.4.5 Student shall be able to specify their preferences by providing topic and the degree of level they want to learn.
1.1.5 Lecturer
  • 1.1.5.1 A user who is signed up as a teacher shall be considered as a lecturer.
  • 1.1.5.2 Lecturer shall be able to add a course.
  • 1.1.5.3 Lecturer shall be able to see their course statistics.
  • 1.1.5.4 Lecturer shall be able to delete a course.
  • 1.1.5.5 Lecturer shall be able to see their courses.

1.2 System Requirements

1.2.1 Pages
1.2.2.1 Main Page
  • 1.2.2.1.1 Main page shall include navigations to the the required functionalities of the user.
  • 1.2.2.1.2 System shall be able to allow users to log-out from their main pages.
1.2.2.2 Student Pages
  • 1.2.2.3.1 Student enroll page shall be able to allow student users to enroll a course that they specify.
  • 1.2.2.3.2 Student Give Rate page shall be able to allow users to give rate a course that they specify.
  • 1.2.2.3.3 Student My Courses page shall be able to show the courses that the student is enrolled .
  • 1.2.2.3.4 Student Specify Preferences page shall be able to show the student preferences and allow the student to add more.
1.2.2.3 Teacher Pages
  • 1.2.2.4.1 Teacher Add Course page shall be able to allow teacher users to add a course that they specify.
  • 1.2.2.4.2 Teacher Course Statistics page shall be able to allow teacher users to check the statistics of a course they specify.
  • 1.2.2.4.3 Teacher Delete Course page shall be able to allow teacher users to delete a course that they specify.
  • 1.2.2.4.4 Teacher My Courses page shall be able to allow teacher users to see their courses.
1.2.2 Recommendations
  • 1.2.3.1 Students should be able to see the recommended courses.
  • 1.2.3.2 The recommeded courses will be decided based on the preferences the students specified.

2. Non-functional Requirements

2.1 Privacy
  • 2.1.1 The platform should comply with all rules regarding KVKK and GDPR.
2.2 Security
  • 2.2.1 URL endpoints shouldn't be accessible to the guest user.
  • 2.2.2 The system should encrypt passwords with SHA-256 algorithm using a randomly generated salt. Passwords hashes and the respective salt shall be stored in the database.
  • 2.2.3 Users cannot be able to perform actions without priveleges not defined for them. For example users should not access to data of another user.
2.3 Accessability
  • 2.3.1 The platform should be accessed via web interface which should be responsive and support Chrome, Safari and Mozilla.
  • 2.3.2 The platform language should be English and support UTF-8 character encoding.
2.4 Performance & Realiability
  • 2.4.1 At least 150 registered users with their actions should be satisfied simultaneosly.
  • 2.4.2 At least 1500 guest users should be able to inspect the system.
  • 2.4.3 A user should have a response in at most 3 seconds excluding the delay based on the machine that the user uses.
2.5 Standards
  • 2.5.1 The project should satisy the rules of W3C Standards.
  • 2.5.2 The semantic should be based on wikidata.org.
⚠️ **GitHub.com Fallback** ⚠️