GithubHelp home page GithubHelp logo

dtreiter / quadbase Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lml/quadbase

0.0 1.0 0.0 4.09 MB

Quadbase.org - Question Banking Made Easy

Home Page: quadbase.org

License: Other

Ruby 97.66% JavaScript 2.34%

quadbase's Introduction

Quadbase

Build Status

Quadbase is an open homework and test question bank, where questions are written by the community and access is free.

Check it out at http://quadbase.org

Requirements

To run Quadbase, you must have the following dependencies installed:

  • Ruby 1.9.3

  • JRuby (for questions with logic) -- Needs to be installed through RVM

  • ImageMagick (for image uploads) -- Additionally, you'll need to set paths in config/initializers/paperclip.rb as well as in config/developer_settings.yml.

License

See the COPYRIGHT and LICENSING files.

Contributing

Contributions to Quadbase are definitely welcome.

Note that like a bunch of other orgs (Apache, Sun, etc), we require contributors to sign and submit a Contributor Agreement. The Rice University Contributor Agreement (RCA) gives Rice and you the contributor joint copyright interests in the code or other contribution. The contributor retains copyrights while also granting those rights to Rice as the project sponsor.

The RCA can be submitted for acceptance by emailing a scanned, completed, signed copy to info@[the quadbase domain]. Only scans of physically signed documents will be accepted. No electronically generated 'signatures' will be accepted.

Here's how to contribute to Quadbase:

  1. Send us a completed Rice Contributor Agreement
  2. Fork the code from github (https://github.com/lml/quadbase)
  3. Create a thoughtfully named topic branch to contain your change
  4. Make your changes
  5. Add tests and make sure everything still passes
  6. If necessary, rebase your commits into logical chunks, without errors
  7. Push the branch up to GitHub
  8. Send a pull request for your branch

Quick Development How-To

Use Vagrant

We provide a Vagrant box that you can use for development. It has everything you need to get going

  1. Install vagrant (gem install vagrant)
  2. vagrant box add quadbase http://dsp.rice.edu/public/quadbase/quadbase.box
  3. Clone your fork of quadbase, and cd into that directory
  4. Run vagrant up
  5. vagrant ssh
  6. At the vagrant VM prompt, cd /vagrant
  7. bundle exec rails server or be rails s

Bring up http://localhost:3000 in a web browser to see the site. Do development with your native tools.

Install everything yourself

The best way to go is to install RVM on your machine. Install Ruby 1.9.3 (e.g. rvm install 1.9.3-p194) and install the bundler gem. You may run into some issues where you need to install some supplemental libraries first. The question logic capability uses jruby under the covers, so you should also install jruby through rvm (rvm install jruby).

When you have RVM and bundler, fork the code and change into the quadbase directory. We have a .rvmrc file in the top-level directory so RVM should setup things to use Ruby 1.9.3 and the quadbase gemset.

bundle --without production
bundle exec rake db:migrate
bundle exec rails server

To upload images to questions, you'll need to have ImageMagick installed and set the parameters appropriately in config/developer_settings.yml. Check out the developer_settings.yml.example file for help.

That's it. You should then be able to point a web browser to http://localhost:3000.

quadbase's People

Contributors

dantemss avatar dcwill avatar joelbaranowski avatar jpslav avatar sebrittain avatar

Watchers

 avatar

quadbase's Issues

Write tests for newLists

just writing a list of things that need to be tested

  1. public lists
  2. redirected to the public lists view correctly
  3. when viewing public lists, test that the view does not show non-public lists
  4. for any public list, show that drafts are not shown when not allowed to

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.