Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

Frequently Asked Questions

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.

Stage 1

The core functionality consists of three screens:

  1. The home screen should display a list of the questions that users have asked. This should include:
    1. The title
    2. The summary
    3. The status (has the question been answered)
  2. There should be a button or link on the homepage that takes users to a screen where they can ask their own questions. They should supply:
    1. A brief title
    2. A short multi-line summary
    3. A detailed, formatted, multi-line description of the question
    4. an optional image (screenshot or photo)
  3. If the user clicks on one of the titles on the homepage they should be taken to the details page which includes the following features:
    1. The title, summary and description of the problem
    2. A multiline input box to allow users to answer the question.
    3. If the logged-in user was the one who posted the question they should be able to flag one of the answers as correct.

Stage 2

The intermediate tasks require you to make changes to the functionality:

  1. To help users locate answers you will need to implement keyword tags. Each question must provide between one and five keywords. The user should be given the choice of choosing any existing tag or, if the one they one is not available, be able to add their own.
  2. The homepage should include a list of all the keywords currently used in the FAQ and, for each keyword, the number of questions that used that tag. Clicking on one of these should filter the list of questions to only include those that used that tag.
  3. If someone posts an answer to a question posted by a user they should receive an email notification which includes:
    1. The original question
    2. The proposed answer
    3. A link to the question details page

Stage 3

Now you will need to implement a gamification points system:

  1. Any user that posts a question receives 5 points per answer posted by other users (only once per user).
  2. Any answer flagged as correct wins the poster 50 points.
  3. When a user logs in they should see their score on the home screen.
  4. The home screen should display the names of the users with the 10 highest scores.
  5. The avatar of a user with one of the top 10 scores should include a gold star.