...
Go to a specific URL (e.g. https://discussions.sunbird.org/abc123 )
Based on user profile:
If not logged in, user is prompted to sign-in.
If logged in, and user is not authenticated to see this forum, a wall saying “Please request authorities for access to this forum.”
If logged in and access is enabled for this profile, user can see the discussion forum.
Admin capabilities:
Assign/remove moderator
Delete a discussion, post or comment
+ All abilities of moderator + member
Moderator capabilities:
Invite/remove user
Archive a discussion, post or comment (equivalent to acting on a flag/report)
+ all abilities of member
Member capabilities (based on permissions above):
Initiate a discussion
Reply as a post to a discussion
Delete own discussion or post
Upvote/downvote a discussion, post or comment
Sort posts by recently updatedin a discussion by newest / top-voted(default) or newly created.
Sort posts in a discussion by latest / most voted(default)discussions by newest / recently updated / top-voted.
NFRs
Mobile-responsive view
Has to load within 5 seconds.
...
Admin > Set permissions for user activity (for moderators and users separately, no outsiders for now):
Create discussion
Delete own post
Comment on post
Upvote/downvote post
Report a post
Mark post as favourite/starred
Archive others' post
Delete others' post
Invite user
Remove user
Create subforum/channel
Admin > Set permissions for user activity:
React to post (Like, celebrate, sad, angry etc.)
Mark post to follow/watch it (or unfollow/unwatch it
Silence user (no new posts/comments until further notice)
Silence moderator (no moderator activity until further notice)
Moderator > Capabilities:
Flag/report a discussion/post with accompanying reason
Close a discussion (no further discussion or comments within that)
User > Capabilities:
If originator of discussion, mark a particular post as pinned (Best answer/takeaway).
Flag/report a discussion/post with accompanying reason.
If originator of discussion, mark it as closed (no further posts or comments).
Edit post (no history needed, just an ‘edited’ text near it)
Keep an eye on discussions they were interacting with / following / starred.
Users should be able to follow other users’ activity.
Users should be able to search for some text across the forum.
...