Project Requirements - koglak/SWE573 GitHub Wiki
Authorization
- User shall register the website.
- User shall login the website.
- User shall log out the website.
- An admin user shall be determined.
- When user is authorized, the user shall view myspace page.
- If user is not authorized, the user shall not post question, comments, courses, and activities.
User Profile
- User shall edit name, profile picture and about me section.
- The system shall display follower quantity, answer quantity, lecture quantity of user on profile page.
- The system shall reward user by displaying an icon near the user’s profile when over than 100 students attempted to his/her course.
- The system shall reward user by displaying an icon near the user’s profile when has over than 100 answers in a week.
- User shall follow other users.
- The system shall count comment quantity for each user.
- The system shall count question quantity for each user.
Home Page
- User shall view recent courses on home page.
- User shall view the most used labels on home page.
- User shall search courses by keywords on home page.
Myspace Page
- User shall view his/her latest created courses on myspace page.
- If user did not fill whole spaces on course create section, the system shall raise alert.
- When user fill whole spaces on course create section and hit create button, the system shall create new course in database.
- When user created new course, the system shall display it on “myspace page.”
- User shall add team members to course.
Course Page
- When user is defined as team member for a course, the user shall edit content of the course.
- User shall create lectures in course page.
- User shall create quizzes in course page.
- When user created quiz, the user shall add up to 15 questions.
- When user created quiz, the user shall add 4 options for each question.
- While user is creating a quiz, the use shall determine the correct option for each question.
- When user took a quiz, user shall select 1 option for each question.
- When user submitted a quiz, the system shall share score of the user.
- User shall create case-studies in course page.
- When user created case-study, user shall add description to case study.
- When a case study has been created, other users shall submit a file and enter a brief description about their submission.
- The system shall allow up to 20 MB for case study submission.
- When a user submitted a file to case study section, the user who is owner of case study shall view submission and content.
- User shall assign a score to case study.
- User shall upload video and image to lecture page.
- Users shall rate a course.
- Users shall post comment under lecture content.
- When user completed a step inside course content, the system shall display the step as completed.
- When user displayed her/his own course, the system shall display “create lecture/quiz/case-studies” option.
Learn Page
- User shall attempt a course.
- When user attempted a course, the system shall display course on the user’s learn page.
- User shall drop a course from “learn page”.
- The system shall display average score, quantity of attempted users and quantity of added lectures in course information block.
- The system shall display progress of each course of the user.
- When user clicked an attempted course, the system shall route to course page.
- When user completed course, course is displayed in “Learn Page” under finished course section.
- User shall review his/her progress of course that the user attempted.
Activity Page
- User shall post an activity.
- When a user posted activity, the system shall display the activity on “activity page” to all users.
- User shall search activity by keywords on activity page.
Question Page
- User shall post question.
- When user posted question, the system shall display it on question page.
- User shall answer question.
- User shall like a question, comments under lectures and answers to questions.
- User shall dislike a question, comments under lectures and answers to questions.
- User shall search for a question on “question page”.
- User shall spam another user If use notice inappropriate behaviour in comment, answers, questions, lectures.
Room Page
- User shall create a room in “room page”.
- While user is creating a room in “room page”, user shall invite other users in his/her room.
- When a room is created, attended users shall send message.