Skip to content
A quiz application built with React, Express and MongoDB.
Branch: master
Clone or download
Latest commit 67af5ac Mar 19, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
Data and



A quiz application built with React, Express and MongoDB.

Key Features

  • Build with modern techniques
    • React, SCSS, Express and MongoDB
  • Create multiple quizzes
  • Approve or reject teams
  • Select your own categories
  • Separate scoreboard
  • User friendly
  • Adjustable to your preferences
  • API based
  • No page refresh between questions
  • Cross browser
    • Safari, Chrome, Firefox and Opera ready
  • Challenging questions 😊

How To Use

You need a Mongo DB server (without authentication) to run this application.

To clone this application, you'll need Git and Node.js (which comes with npm) installed on your computer. From your command line:

# Clone the repo
$ git clone

# Go into the server directory
$ cd fall2017-quizz-MitchEnSjoerd/server

# Install dependencies
$ npm install

By default, the application runs on port 8080, and expects a local Mongo database to be running by the name of quizzer. One round in a game has twelve questions. To change this behaviour, edit the config.json file in the server directory.

After setting up config.json you can install the questions to the Mongo server by running:

$ node setup.js

Finally, to run the application:

$ node app.js

If you want to run tests for the Mongoose schemas and the API, you need to have mocha installed. Make sure the server is running and run:

$ mocha

Note: If you're using Linux Bash for Windows, see this guide or use node / yarn from the command prompt.


You can download latest installable version of this Quizzer for Windows, macOS and Linux.


This software uses code from several open source packages.

  • React - The client side framework used.
  • Express - The server side framework used.
  • SCSS - The CSS preprocessor used.
  • MongoDB - The database behind the Quizzer app.
  • Mongoose - The object modeling package for MongoDB.
  • Socket.IO - The extension used for real-time bidirectional event-based communication.
  • Babeljs - The javascript compiler used.
  • Webpack - The module bundler used.

Why these packages?

  • React - Was required for the assignment.
  • Express - Was required for the assignment.
  • SCSS - To organize CSS and for variable support.
  • MongoDB - Was required for the assignment.
  • Mongoose - To add data validation and because it will abstract away most of the mongoDB code.
  • Socket.IO - For backwards compatibility with AJAX, easier socket management, and automatic reconnection.
  • Babeljs - To convert React and ES6 code to es5 so non-ES6 browsers can use it.
  • Webpack - To make the app faster.


  • Mitch Dorrestijn - Mostly client-side development - MitchDorrestijn
  • Sjoerd Scheffer - Mostly server-side development - ixnas


The Quizzer application is created in commissioned by the Hogeschool van Arnhem en Nijmegen for the SWD/CWD courses.

You can’t perform that action at this time.