Use cases
...
In the second phase, we could add new features so that a user could help the community by marking a Thread is helpful, and by marking a Reply is helpful or unhelpful.
Mockups
Phase 1
Summary View
Paginated Threads
Thread View
...
Action | Intended User | URI | Method | Request Parameters | Request Body | Response Body | Notification Sent to (P2) | |
1 | Get Forum Metadata for a Project | authorized user | /forum/{projectId} | GET | Forum | |||
2 | Get Threads of a Forum | authorized user | /forum/{forumId}/threads | GET | order, limit, offset | PaginatedThreads | ||
3 | Create a Thread | authorized user | /thread | POST | CreateThread | Thread | ||
4 | Get a Thread by its ID | authorized user | /thread/{threadId} | GET | Thread | |||
5 | Create a Reply | authorized user | /reply | POST | CreateReply | Reply | Thread’s Author | |
6 | Get a Reply by its ID | authorized user | /reply/{replyId} | GET | Reply | |||
7 | Remove a Thread | Moderator | /thread/{threadId} | DELETE | ||||
8 | Remove a Reply | Moderator | /reply/{replyId} | DELETE | ||||
9 | Get Replies for a Thread | authorized user | /thread/{threadId}/replies | GET | order, limit, offset | PaginatedReplies | ||
10 | Update a Thread’s Message | Author | /thread/{threadId}/message | PUT | String | |||
11 | Update a Reply’s Message | Author | /reply/{replyId}/message | PUT | String | |||
12 | Update a Thread's title | Author | /thread/{threadId}/title | PUT | String | |||
13 | Restore a deleted thread | Moderator | /thread/{threadId}/restore | PUT | ||||
14 | Retrieve a paginated list of moderator for a given forum | authorized user | /forum/{forumId}/moderators | GET | limit, offset | PaginatedModerators |
Future Potential Extensions
...