Milestone 1 Requirements - bounswe/2021SpringGroup1 GitHub Wiki
Description
This is a subset of actual project requirements that we are aiming to fulfill to the Milestone 1. We are currently omitting privacy measures, complex UIs to focus on core functionalities.
User Requirements
- 1.1.1 Registration and Log in
- 1.1.1.1 A user shall be able to register by providing a valid e-mail address, a username, and a strong password.
- 1.1.1.3 Users shall be able to log in to their account with their email/username and password.
- 1.1.1.4 If a user logged in to their account, then the next time they open the app they will be logged in automatically.
- 1.1.2 Home Page
- 1.1.2.1 Users should be able to see posts from their communities in their home page.
- 1.1.2.4 Users should be able to name search and list communities.
- 1.1.2.5 Users should be able to title search and list post in their home post feed.
- 1.1.3 Settings Page
- 1.1.3.3 Users should be able to log out from the app.
- 1.1.3.5.1 Users shall be able to change their username if the username they wish to use is available.
- 1.1.3.5.2 Users shall be able to change their password with e-mail confirmation.
- 1.1.4 Community Features
- 1.1.4.1 A user shall be able to create a community by specifying a unique name, description and privacy status (public or private). After a successful creation, user shall be a moderator of that community.
- 1.1.4.2 A user shall be able to view a community page that will contain community post feed and information.
- 1.1.4.3 Users shall be able to join to any public community.
- 1.1.4.4 Users shall be able to leave a community that they're currently joined.
- 1.1.5 Moderating Features
- 1.1.5.4 Moderators should be able to delete the community that they moderate.
- 1.1.6 Post Templates
- 1.1.6.1 Community moderators should be able to create post templates for their communities.
- 1.1.6.2 Community moderators should be able to select and add multiple data fields to the post templates.
- 1.1.6.3 Users should be able to list and select post templates during post creation.
- 1.1.7 Posts
- 1.1.7.1 Users should be able to see post feed of a community in its respective community page.
- 1.1.7.2 Users should be able to create a post in a joined community by selecting a post template and filling out necessary fields.
- 1.1.7.5 Users should be able to search for titles of posts with keywords using search bar in both home and community post feed.
System Requirements
- 1.2.2 Users and Communities
- 1.2.2.1 System must ensure uniqueness of the username and e-mail before registration.
- 1.2.2.2 Users shall enter their password 2 times to prevent typos in registration.
- 1.2.2.4 System must ensure uniqueness of the name of a community before community creation.
- 1.2.2.5 System will not permit usage of priveledged moderator actions by regular users of the community.
- 1.2.2.6 Users shall be redirected to their homepage after a successful login.
- 1.2.3 Post Templates and Data Fields
- 1.2.3.1 System must support post templates that contain multiple data field types including but not limited to text, image, location.
- 1.2.3.2 System must be able to render posts that contain different data field types correctly in the UI.
- 1.2.3.3 System must ensure the exclusivity of post templates to their respective communities (i.e. System should not allow post template usage outside its community.)
- 1.2.5 Search/Filter
- 1.2.5.1 System must support text search on names/ titles of users, communities and posts.