WaterlooAnswers


   

Problem

Many students at the University of Waterloo have questions about school, especially first-years. These questions usually get asked on the Facebook frosh group, and these questions are unorganized, get lost, and get repeatedly asked.


Solution

This project is a question/answer system, similar to Yahoo Answers. Questions are organized, can be favourited, and can have answers which are favourited. You can organize questions by time, category, number of views, and number of favourites.


Stack

Our server is written in Node.js, with MongoDB as the database. Database interactions are handled through MongooseJS, which handles schemas for MongoDB. Authentication is done using JSON Web Tokens, or JWTs. These tokens are a piece of trivial JSON (ex. a user's username), which are encoded using a server secret. These tokens can be decoded back to JSON easily, but they cannot be produced unless you have the server secret. The server can only read tokens that have been produced with it's own secret. Our client is written in AngularJS.