Requirements - BeratBurakTetik/bounswe573-2022 GitHub Wiki

Requirements

  1. Anonymous visitors should be able to fill a registration form to register to the website.
  2. System shall send approval e-mail for the users who filled the registration form.
  3. When users click to the link in the approval e-mail, they should be registered to the system.
  4. Users should be able to create communities.
  5. System shall assign the user who created the community owner role.
  6. Community owners should be able to edit community information.
  7. Community owners should be able to give tags to the communities.
  8. Community owners should be able to create topics under the communities.
  9. Community owners should be able to edit content of the topics.
  10. Community owners should be able to add images as content.
  11. Community owners should be able to add videos as content.
  12. Community owners should be able to create roadmap for the community.
  13. Community owners should be able to define prerequisite topic for a specific topic.
  14. Users should be able to join communities.
  15. Users should be able to filter all communities by tags.
  16. Users should be able to see feed about the following users and joined communities.
  17. Members should be able to ask questions under the topics.
  18. Members should be able to answer questions.
  19. Community owners should be able to edit posts and comments under the community.
  20. Community owners should be able to delete posts and comments under the community.
  21. Users should be able to follow other users.
  22. Users should be able to block other users posts.
  23. If a user block another user, he/she should not be able to see blocked user’s posts.
  24. Muted members should not be able to share posts or comments.
  25. Community owners should be able to create badges for a specific community.
  26. Community owners should be able to assign badges to community members.
  27. System shall show badges of members near their posts.
  28. Community owners should be able to create meetings.
  29. Members should be able to select join option for meetings.
  30. If a member selected join for a meeting, he/she should be notified by e-mail a day and an hour ago before meeting start time.