Skip to content

saasbook/coursequestionbank

Repository files navigation

Course Question Bank - CS 169 Project

Heroku Code Climate Travis CI Test Coverage PivotalTracker

Video Links

Client Entry Video - https://youtu.be/oNJuf9Z29W0

Intro Screencast Video - https://youtu.be/EVNBPCu02wQ

Final Screencast Video - https://youtu.be/DiDK1wS4gyU

User Guide

See the Wiki.

NOTE: This tool ought to be deprecated

We should find a useful tool that allows tagging, grouping, etc. questions in the QTI format, like these examples.

Running or Testing Locally

To stop the application, run bundle exec sunspot-solr stop (basically the steps in .travis.yml). And the config in sunspot.yml should enable the app to connect properly.

When running locally, you can click the "Dev Login" button and login as either saas (Instructor privilege) or saas-admin (Admin privilege) with no password needed.

Deployment

Currently set up to deploy to Heroku.

  1. Provision a Heroku app and add the Websolr and Rollbar addons. There is a Websolr worker that periodically re-indexes the questions so that keyword search will work; you can run it manually with heroku run rake sunspot:solr:reindex

  2. Login to your GitHub account, go to Settings, then OAuth applications. Click "Register new application" and fill in the fields as follows:

  • Application name: something you or your students will recognize
  • Homepage URL: https://yourappname.herokuapp.com
  • Description: something your students will recognize, or can leave blank
  • Callback URL: https://yourappname.herokuapp.com/auth/github/callback Make note of the "Client ID" and "Client Secret" GitHub assigns when you register the app.
  1. In the Rollbar addon for Heroku, generate a Rollbar access token if you don't already have one.

  2. You now need to tell Heroku the GitHub client and secret as well as the Rollbar access token. You can do this two ways.

  • Manually: in the Heroku app dashboard, go to Config Variables and manually enter values for github_key, github_secret, and ROLLBAR_ACCESS_TOKEN (case is significant).
  • Semi-automatically: The app expects to find a Figaro-friendly config/application.yml file with the keys github_key (client ID), github_secret, and ROLLBAR_ACCESS_TOKEN. Create the file, then run figaro heroku:set -e production to propagate these values ti Heroku.
  1. Deploy: git push heroku master

  2. Setup the remote database: heroku run rake db:migrate

  3. Create the initial admin user based on their GitHub username: heroku run rake setup:add_admin[github-username-here]

You should now be able to login.