Expertiza is a web application through which 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 CSS Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
app patch to render html comment Jul 9, 2018
bin Add the Rails 4 bin directory Dec 15, 2014
config merge tone analysis report for each reviewer May 24, 2018
db Refactor E1822 May 23, 2018
doc routes.rb changed Oct 27, 2013
docker Avoid add image in repo Nov 6, 2017
hooks Add pre-commit git hook: Aug 7, 2016
lib Fix a bug related to participant importing Jan 21, 2018
public Second commit Oct 28, 2016
spec Merge remote-tracking branch 'origin/master' May 24, 2018
vendor Changed method name from pastebin to macros Apr 25, 2017
.bowerrc Update jQuery-UI, using Bower for Bootstrap rather than Gem Jul 23, 2015
.codeclimate.yml Update .codeclimate.yml Jul 10, 2016
.coveralls.yml Add coveralls for code coverage Jan 6, 2014
.gitignore Update routes.rb Jan 17, 2018
.rbenv-gemsets remove bulletted list for the questions to save lines Feb 12, 2018
.rspec Optimize tests. Aug 18, 2017
.rubocop.yml Update Rubocop config to avoid some Rails 5 settings. Jan 8, 2018
.travis.yml Update .travis.yml Feb 21, 2018
Capfile I(Zhewei) am very happy to announce that capistrano is successfully u… Jan 14, 2018
Gemfile Refactor E17A9 Mar 20, 2018
Gemfile.lock merge tone analysis report for each reviewer May 24, 2018
Guardfile Use Rubocop to do auto-correction. Jun 11, 2016
LICENSE Add MIT license. Mar 11, 2017 Remove conflicts in pull request #1150 Apr 18, 2018
Rakefile routes.rb changed Oct 27, 2013
bower.json Resolved merge conflict Feb 12, 2018 Use Rubocop to do auto-correction. Jun 11, 2016 Editing design document - changing path of images Apr 3, 2018
docker-compose.yml.example scrubbed_db folder location updated Oct 16, 2017 Update Apr 11, 2018 Refactor E1752 Nov 11, 2017


Build Status Coverage Status Maintainability Test Coverage

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 Google doc on setting up the Expertiza development environment.

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
  • Follow the design guidelines for the views.

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. :-)