Build a knowledge-base system where users can post and answer questions. You can choose the topic. Some suggestions might include University procedures or NodeJS. Packages: sharp.
This will produce a basic yet functional FAQ system.
- Without logging in a user can view all the question titles and dates on the homepage but will not see the button that allows them to ask a new question.
- Clicking on a question title takes the user to a details page where they can see the question details together with any answers supplied by other users however until they are logged in they won't see the reply button.
- If a user logs in they should see a button that allows them to add a new question. This will take them to a new screen where they will be asked for:
- A short title.
- A detailed description of the problem.
- An optional photo or screenshot.
- If a logged in user views a question details page they will see a form containing a text area at the bottom of the page where they can add their answer.
This adds some additional functionality.
- The optional screenshot should be displayed as a low-resolution thumbnail.
- Clicking on the thumbnail should display the full-resolution image.
- The person who posted the original question can flag one of the answers as the correct one.
- This correct answer should be flagged on the details page.
- On the home page any question that has a correct answer flag should be indicated as 'solved' on the homepage.
- Any logged in user can rate any answer that they did not provide on a scale of 1-5 stars.
The advanced functionality covers gamification.
- Every user start off with a contribution score of 0.
- Logged in users can flag answers as off topic or inappropriate. This takes 5 points off the poster's score.
- Every answer flagged as correct adds 50 points to the posting person's contribution score.
- The best users are flagged with a gold, silver or bronze start:
- The top 5% of users are flagged with a gold star.
- The top 25% are flagged as silver.
- The top 50% are flagged as bronze star users.