Best Practice Wiki

Introduction
This project was my capstone at devCodeCamp. The goal was to solve a real world problem in a new way. I created the Best Practice wiki, which is a reddit / article styled application that showcases best practices for each coding language, aiding in the ease of research and providing useful examples. In addition to helpful information, Best Practice Wiki has game elements to it; ranks, badges and a top upvoted pages. These elements were added to encourage people to post better articles and participate more.

View All Articles
This page has articles by all languages and best practices to browse.

View By Language
This page allows users the ability to sort and view content by a particular language. Once a user creates an account, they can subscribe to a language and will receive a notification whenever a new article is posted.

View Articles By Language and Best Practice
This page allows users the ability to view articles by a language and best practice. Also, once a web developer creates an account they can subscribe to a specific best practice within the language they want. When an article is posted for that language and specific best practice they will get a notification.

Subscriptions
This page is where users can view their subscriptions, as well as their points/rank, comments on their articles, and badges earned.

Creating An Article
In this page a web developer can create an article. Including a text editor for the featured code (codemirror.js was used to provide this functionality).

Completed Article
Once the article is created this is what it will look like. For the featured code to style the code highlight.js is used.

Comment System
Below each article, registered users can comment on the article and reply to existing comments.

Upvote or Downvote Articles
To show that an article is liked or not by the web developer community each article can be upvoted or downvoted.

Top Upvoted Articles
If an individual article is upvoted enough it could end up on the top upvoted page. Also shown on this page is whenever you click on someone else's name, you can view their rank and how many points/badges they have (also on other pages).

Bad Articles
If an article is downvoted a certain amount of time or the percentage of upvoted / downvoted votes has more downvotes, the article is styled differently. This lets the other web developers know that the article isn't liked by the community.

Share an Article
With each article people have the ability to share the article via email. Otherwise they can save it for later.

User Portal With Badges
After a article is upvoted a certain amount of time or so many comments on an article, a web developer will receive a badge for the achievement.