Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Expertiza is a web application where students can submit and peer-review learning objects (articles, code, web sites, etc). The Expertiza project is supported by the National Science Foundation.
Ruby HTML JavaScript Other
Failed to load latest commit information.
.ssl made all changes other than test cases
app Merge branch 'rails4' of into …
bin Add the Rails 4 bin directory
config partially fixed the review report bug, but there are some displaying …
db add a checkbox for metareview allowed? on due date panle of assignmen…
doc routes.rb changed
lib Merge branch 'rails4' of into …
public Remove all instances of RAILS_ROOT for Rails.root
spec merge
test Merge branch 'rails4' of into …
vendor Revert "Refactor - rename method 'list' to 'index' in all controllers"
.coveralls.yml Add coveralls for code coverage
.gitignore Update .gitignore
.rspec not show warning messages when do testing
.travis.yml Update project configuration to the current rails4 branch
Capfile Capistrano is working. Migrations are working.
Gemfile Fixes new user creation issue with passing test
Gemfile.lock Fixes new user creation issue with passing test
Guardfile Update project configuration to the current rails4 branch Update test results and coverage to use the rails4 branch
Rakefile routes.rb changed Expertiza is running.
models.svg refactor response_map
tags Merging project E1472 changes


Build Status Code Climate Coverage Status

Peer review system

Expertiza is a web application where students can submit and peer-review learning objects (articles, code, web sites, etc). It is used in select courses at NC State and by professors at several other colleges and universities.


NCSU VCL image

The expertiza environment is already set up in NC State's VCL image "Ruby on Rails". If you have access, this is quickest way to get a development environment running for Expertiza. See the Expertiza wiki on developing Expertiza on the VCL.

Using the VCL is the quickest way to get started, but you may find it awkward developing on a remote machine with network lag and having to reinstall gems every time you connect. Installing locally can be a pain though too. Life is full of tradeoffs. :-) The good news is that you can start on one environment, push your work to git, and switch to another environment if you don't like the one you started with.

Installing locally

See the Expertiza wiki for setup instructions. Please update the wiki with corrections or additional helpful information.


  • Fork the expertiza project
  • Create a new branch for your contribution with a descriptive name
  • Commit and push until you are happy with your contribution - follow the style guidelines below
  • Make sure to add tests for it; the tests should fail before your contribution/fix and pass afterward
  • Send a pull request to have your code reviewed for merging back into Expertiza

Style Guidelines

We've had many contributors in the past who have used a wide variety of ruby coding styles. It's a mess, and we're trying to unify it.

All new files/contributions should:

  • Use unix line endings (Windows users: configure git to use autocrlf)
  • Indent with 2 spaces (no tabs; configure your editor) both in ruby and erb
  • Follow the Ruby Style Guide style for syntax, formatting, and naming

When editing existing files:

  • Keep the existing tabbing (use tabs instead of spaces in files that already use tabs everywhere; otherwise use spaces)
  • Keep the existing line ending style (dos/unix)
  • Follow the Ruby style Guide on code you add or edit, as above

Please do no go crazy changing old code to match these guidelines; it will just create lots of potential merge conflicts. Applying style guidelines to code you add and modify is good enough. :-)

Something went wrong with that request. Please try again.