Requirements ‐ Aibek - swe574-Fall2024-Group1/huddleup GitHub Wiki

User Login and Registration

  1. A user shall be able to register on the platform using email and password.
  2. After registration, a user shall be able to login to the system using email and password.
  3. After logging in, a user shall be able to go to his/her profile page and edit profile details (display name, avatar).

Communities

  1. The platform’s frontpage shall display the mix of the following communities: popular, recently active and newly created.
  2. A user shall be able to create a new community.
  3. A user shall be able to choose if the community is public or private during creation.
  4. A user that created the community is the owner of that community.
  5. The community’s owners shall be able to invite other users to become the owners.
  6. The community’s owners shall be able to invite other users to become the moderators.

Moderation

  1. Community moderators shall be able to publish community rules when creating communities or when editing them.
  2. Community moderators shall be able to delete posts that break the community rules.
  3. Community moderators shall be able to ban users that break the community rules.
  4. Community moderators shall be able to remove comments that break the community rules.

Templates and posts

  1. In a community, the most basic type of data that can be posted is a textual message.
  2. Community moderators shall be able to create templates for posts.
  3. Post templates shall be customizable to include such types of data as: image, video, url, document/file, date/time, gps coordinate, label/tag.
  4. Post templates shall be customizable to include various fields such as: input text, checkbox, radio button, dropdown menu.
  5. Each community shall have its own set of templates.
  6. After a community moderator creates a template, that template shall be available to regular users for creating new posts.
  7. In a community, a user shall be able to sort the posts by most viewed, most commented, and most starred.
  8. By default, the posts are sorted by date of publication.
  9. A user shall be able to star a post he/she likes.
  10. A user shall be able to write a comment under a post.
  11. Users shall be able to see all their starred and commented posts in the My Profile section.
  12. A user shall be able to filter and sort the starred and commented posts in the My Profile section by date.
  13. A user shall be able to see own post history sorted by date.