Project Requirements - koglak/SWE573 GitHub Wiki

Authorization

  1. User shall register the website.
  2. User shall login the website.
  3. User shall log out the website.
  4. An admin user shall be determined.
  5. When user is authorized, the user shall view myspace page.
  6. If user is not authorized, the user shall not post question, comments, courses, and activities.

User Profile

  1. User shall edit name, profile picture and about me section.
  2. The system shall display follower quantity, answer quantity, lecture quantity of user on profile page.
  3. The system shall reward user by displaying an icon near the user’s profile when over than 100 students attempted to his/her course.
  4. The system shall reward user by displaying an icon near the user’s profile when has over than 100 answers in a week.
  5. User shall follow other users.
  6. The system shall count comment quantity for each user.
  7. The system shall count question quantity for each user.

Home Page

  1. User shall view recent courses on home page.
  2. User shall view the most used labels on home page.
  3. User shall search courses by keywords on home page.

Myspace Page

  1. User shall view his/her latest created courses on myspace page.
  2. If user did not fill whole spaces on course create section, the system shall raise alert.
  3. When user fill whole spaces on course create section and hit create button, the system shall create new course in database.
  4. When user created new course, the system shall display it on “myspace page.”
  5. User shall add team members to course.

Course Page

  1. When user is defined as team member for a course, the user shall edit content of the course.
  2. User shall create lectures in course page.
  3. User shall create quizzes in course page.
  4. When user created quiz, the user shall add up to 15 questions.
  5. When user created quiz, the user shall add 4 options for each question.
  6. While user is creating a quiz, the use shall determine the correct option for each question.
  7. When user took a quiz, user shall select 1 option for each question.
  8. When user submitted a quiz, the system shall share score of the user.
  9. User shall create case-studies in course page.
  10. When user created case-study, user shall add description to case study.
  11. When a case study has been created, other users shall submit a file and enter a brief description about their submission.
  12. The system shall allow up to 20 MB for case study submission.
  13. When a user submitted a file to case study section, the user who is owner of case study shall view submission and content.
  14. User shall assign a score to case study.
  15. User shall upload video and image to lecture page.
  16. Users shall rate a course.
  17. Users shall post comment under lecture content.
  18. When user completed a step inside course content, the system shall display the step as completed.
  19. When user displayed her/his own course, the system shall display “create lecture/quiz/case-studies” option.

Learn Page

  1. User shall attempt a course.
  2. When user attempted a course, the system shall display course on the user’s learn page.
  3. User shall drop a course from “learn page”.
  4. The system shall display average score, quantity of attempted users and quantity of added lectures in course information block.
  5. The system shall display progress of each course of the user.
  6. When user clicked an attempted course, the system shall route to course page.
  7. When user completed course, course is displayed in “Learn Page” under finished course section.
  8. User shall review his/her progress of course that the user attempted.

Activity Page

  1. User shall post an activity.
  2. When a user posted activity, the system shall display the activity on “activity page” to all users.
  3. User shall search activity by keywords on activity page.

Question Page

  1. User shall post question.
  2. When user posted question, the system shall display it on question page.
  3. User shall answer question.
  4. User shall like a question, comments under lectures and answers to questions.
  5. User shall dislike a question, comments under lectures and answers to questions.
  6. User shall search for a question on “question page”.
  7. User shall spam another user If use notice inappropriate behaviour in comment, answers, questions, lectures.

Room Page

  1. User shall create a room in “room page”.
  2. While user is creating a room in “room page”, user shall invite other users in his/her room.
  3. When a room is created, attended users shall send message.