Glossary and Requirements for PracticeApp - bounswe/bounswe2022group1 GitHub Wiki
-
Online Learning Platform: An online platform that enables student to learn by their own without face-to-face communication.
-
Teacher: Anyone who knows a topic well and willing to teach it to other people.
-
Learner: Anyone who is interested in learning.
-
e-learning: Learning from digital platforms instead of on-site education.
-
User Profile: A virtual entity for the real user, which includes collection of information about a user describing her interests and knowledge.
-
Recommendations: Suggestions that are offered to the user considering their personal traits, previous usage, likes etc.
-
Learning Environment: An environment containing all the learning related things or activities. This includes teacher, learner, learning platform, quizzes, assignments and learning place...
-
Reputation: A score for teachers gathered by the feedbacks of learners that evaluates the teaching performance.
-
Learning Experience: All the things related to learner's individual learning process. That includes their progress, feedbacks, evaluations etc.
-
Course Statistics: The statistics related to a course: i.e. its rating, number of attendees etc.
-
RESTful API: An architectural style for distributed hypermedia systems.
-
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.
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.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.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.