Skip to content

IBazylchuk/livequiz

 
 

Repository files navigation

LiveQuiz Demo

LiveQuiz is an app that allows you to create awesome real time quizzes. It is powered by PubNub

  • Create a quiz with questions and answers
  • Create a quiz session and invite people
  • Start the Quiz
  • People can play the Quiz in realtime and see the results

Built With

LiveQuiz Technologies

  • Ruby on Rails — The back end that allows to create quizzes is a Rails app.
  • PubNub — The realtime communication layer that allows you to play the quizzes in realtime is PubNub. This app uses the Javascript and Ruby PubNub APIs. It uses PubNub Access Manager and Presence features to secure quizzes access and to allow to see the participants statuses.
  • ReactJS — The quiz user interface is made with ReactJS and allows to display and refresh the realtime data received from the PubNub Network.
  • PostgreSQL — The main data store is in Postgres.

Plus lots of Ruby Gems, a complete list of which is at /develop/Gemfile.

Getting Started

After you have cloned this repo, run this setup script to set up your machine with the necessary dependencies to run and test this app:

% ./bin/setup

It assumes you have a machine equipped with Ruby, Postgres, etc. If not, set up your machine with this script.

PubNub Account and API keys

  • Create a PubNub account here and create an app.

  • Activate Access Manager and Presence feature.

  • Get your SECRET_KEY, PUBLISH_KEY and SUBSCRIBE_KEY and set them in the file .env.

    There is an example in the .sample.env file :

    PUBNUB_SECRET_KEY=XXXXXXXXXXXXX
    PUBNUB_PUBLISH_KEY=XXXXXXXXXXXX
    PUBNUB_SUBSCRIBE_KEY=XXXXXXXXXX
    

Running the application

After setting up, you can run the application using foreman:

% foreman start

If you don't have foreman, see Foreman's install instructions. It is purposefully excluded from the project's Gemfile.

Guidelines

Use the following guides for getting things done, programming well, and programming in style.

Deploying

If you have previously run the ./bin/setup script, you can deploy to staging and production with:

$ ./bin/deploy staging
$ ./bin/deploy production

Contributing

Develop : Build Status

LiveQuiz is 100% free and open-source. You can find some features in the issues page

About

Realtime Quiz app with Ruby On Rails, ReactJS and PubNub

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 57.5%
  • HTML 19.6%
  • CSS 9.0%
  • CoffeeScript 6.6%
  • JavaScript 6.2%
  • Shell 1.1%