Requirements ‐ Aibek - swe574-Fall2024-Group1/huddleup GitHub Wiki
User Login and Registration
- A user shall be able to register on the platform using email and password.
- After registration, a user shall be able to login to the system using email and password.
- After logging in, a user shall be able to go to his/her profile page and edit profile details (display name, avatar).
Communities
- The platform’s frontpage shall display the mix of the following communities: popular, recently active and newly created.
- A user shall be able to create a new community.
- A user shall be able to choose if the community is public or private during creation.
- A user that created the community is the owner of that community.
- The community’s owners shall be able to invite other users to become the owners.
- The community’s owners shall be able to invite other users to become the moderators.
Moderation
- Community moderators shall be able to publish community rules when creating communities or when editing them.
- Community moderators shall be able to delete posts that break the community rules.
- Community moderators shall be able to ban users that break the community rules.
- Community moderators shall be able to remove comments that break the community rules.
Templates and posts
- In a community, the most basic type of data that can be posted is a textual message.
- Community moderators shall be able to create templates for posts.
- Post templates shall be customizable to include such types of data as: image, video, url, document/file, date/time, gps coordinate, label/tag.
- Post templates shall be customizable to include various fields such as: input text, checkbox, radio button, dropdown menu.
- Each community shall have its own set of templates.
- After a community moderator creates a template, that template shall be available to regular users for creating new posts.
- In a community, a user shall be able to sort the posts by most viewed, most commented, and most starred.
- By default, the posts are sorted by date of publication.
- A user shall be able to star a post he/she likes.
- A user shall be able to write a comment under a post.
- Users shall be able to see all their starred and commented posts in the My Profile section.
- A user shall be able to filter and sort the starred and commented posts in the My Profile section by date.
- A user shall be able to see own post history sorted by date.