diff --git a/subjects/forum/forum-moderation.audit.md b/subjects/forum/forum-moderation.audit.md new file mode 100644 index 00000000..ed47c4b3 --- /dev/null +++ b/subjects/forum/forum-moderation.audit.md @@ -0,0 +1,49 @@ +#### Functional + +###### Does the forum present the 4 types of users? + +##### Try to enter the forum as a Guest + +###### Can you confirm that it is only possible to see the content? + +##### Try registering as a normal user. + +###### Can you create posts and comments? + +##### Try registering as a normal user. + +###### Can you like or dislike a post? + +##### Try registering has a moderator, and see if the admin user has received the request. + +###### Can you confirm that the admin received the request? + +##### Try accepting a moderator using the admin user. + +###### Has the moderator been promoted? + +##### Try using the moderator to delete a obscene post + +###### Can you confirm that it is possible? + +##### Try using the moderator to report a illegal post + +###### Did the admin user received the report? + +##### Try using the admin user to answer the moderator request. + +###### Did the moderator received the answer from the admin? + +##### Try using an admin user to demote a moderator. + +###### Can you confirm that it is possible? + +#### General + +###### +Does the project present more then 4 types of users? + +#### Social + +###### +Did you learn anything from this project? + +###### +Would you recommend/nominate this program as an example for the rest of the school? diff --git a/subjects/forum/forum-moderation.en.md b/subjects/forum/forum-moderation.en.md new file mode 100644 index 00000000..8fd548fb --- /dev/null +++ b/subjects/forum/forum-moderation.en.md @@ -0,0 +1,51 @@ +## forum-moderation + +### Objectives + +You must follow the same [principles](https://public.01-edu.org/subjects/forum/forum.en) as the first subject. + +The forum-moderation will be based on moderation system. It must present a moderator that, depending on the access level of a user or the forum set-up, approves posted messages before it becomes publicly visible. + +- The filtering can be done depending on the categories of the post being sorted by irrelevance, obscene, illegal or insulting. + +For this optional you should take into account all the type of users that can exist in a forum and their levels. + +You should implement at least 4 types of users : + +#### Guest + +- These are unregistered-users that neither can post, comment, like or dislike a post, only having the permission to see the posts, comments, likes or dislikes. + +#### Users + +- These are the users that will be able to create, comment, like or dislike posts. + +#### Moderators + +- Moderators, as explained above are users that are granted access to special functions : + - They should monitor the content in the forum by deleting or reporting post to the admin +- To create a moderator the user should request an admin for that role + +#### Administration + +- Users that manage the technical details required for running the forum. This user must be able to : + - Promote or demote a normal user to or from a moderator user. + - Receive reports from moderators. If the admin receives a report from a moderator, he can respond to that report + - Delete posts and comments + - Manage the categories, creating and deleting them. + +This project will help you learn about : + +- Moderation System +- User access levels + +### Allowed packages + +- All [standard go](https://golang.org/pkg/) packages are allowed. + +### Instructions + +- You must handle website errors, HTTPS status. +- You must handle all sort of technical errors. +- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices.en). +- It is recommend that the code should present a **test file**.