Skip to content
This repository has been archived by the owner on Dec 13, 2021. It is now read-only.

tomtomecek/quizzer

Repository files navigation

Welcome to Quizzer

Build Status Code Climate Test Coverage Circle CI

quizzer_logo

Ruby on Rails application for building unique quizzes with admin/user interface, e-commerce, and certification. The application was built by using Test Driven Development, GitHub Flow, and Agile Planning.

IMPORTANT: The code in this repository is legacy (from 2015) and is no longer maintained.

Features

  • Sign up and sign in for students via 3rd party - GitHub.
  • Forgetten password and 'Remember me'.
  • Admin area with multiple actor roles - Instructor, Teaching Assistant.
  • Possibility of paid Signature track and credit card payment via Stripe.
  • Downloadable PDF and shareable certificate on LinkedIn.
  • File upload to Amazon S3.
  • Quiz questions and answers can be written in Markdown.
  • Syntax highlighting support for markdown code blocks.
  • Continuous Integration - Builds on Travis CI and CircleCI.
  • Continuous Deployment - from CircleCI to Heroku.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

You need to be able to setup developer account with 3rd party services:

  • GitHub (Required only for student track)
  • AWS (Optional)
  • Stripe (Required only for student track)

In order to run specs, you will need to install PhantomJS. Homebrew installation of PhantomJS:

brew update
brew install phantomjs

And same way for PostgreSQL.

Installing

I originally used Ruby 2.1.5 and version was upgraded to 2.3.6, but any version before 2.4 should work without issues.

git clone git@github.com:tomtomecek/quizzer.git && cd quizzer
bundle install
bundle exec rake db:create db:schema:load
figaro install

If you want to seed some data.

bundle exec rake db:seed

Running the tests

bundle exec rspec spec

I also used zeus to enhance local development.

Deployment

Project is continuously deployed via CircleCI to Heroku, when all tests pass on master branch.

See the setup of config.yml - here.

Built With

Authors

Acknowledgments

  • Huge thanks to Chris Lee and Kevin Wang - for inspiration, mentoring and knowledge
  • Thanks to Brandon Conway - for development advice and hunt on some bugs
  • Quiz inspiration came from Vienna.rb