Giter VIP home page Giter VIP logo

coursequestionbank's Introduction

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.

coursequestionbank's People

Contributors

anokhikastia avatar armandofox avatar branpk avatar cycomachead avatar dradding avatar hrzlvn avatar ingridh avatar jesmin-n avatar josh-zeitsoff avatar jshoe avatar juwon-k avatar kellymtrinh avatar kimeow avatar laralinmcc avatar scabanela avatar shteveno avatar stevenwuyinze avatar willsheng avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

coursequestionbank's Issues

Modernize + Cleanup App

Not sure where there's time to do this. :/

  • Rails 4 or Rails 5 upgrade
  • Text JSON column โ†’ postgres JSONB
  • unicorn or puma as the web server
  • clean up test / fake data in production db

Misc features that would be cool, to be categorized later

  • Tools for detecting duplicate questions
  • All tags view
  • simplified question view
  • generate an exam function
    • exam is a collection + template HTML
    • even gives you a PDF?
  • gradescope formatter (requires RuQL change)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.