Open Embeddable Assessments (OA or OEA) is an open-source assessment-authoring engine.
Code of Conduct
Lumen Learning's Code of Conduct is one of the ways we put our values into practice. Our commitment to the standards outlined in the Code of Conduct help us build great teams, craft great code, and maintain a safe, pleasant work environment.
- Ruby (v2.2.2)
- Node (v0.10.37)
- Postgresql (v9.6.3 or higher)
For more details,
please see the
1. Clone the Repo
Run the following commands to clone the repository to your local machine:
$ git clone https://github.com/lumenlearning/OpenAssessments.git $ cd OpenAssessments
2. Install Ruby Dependencies
On the command line,
install the ruby dependencies with
$ bundle install
If you get an error stating that the
eventmachine gem did not install, try:
$ gem install eventmachine -v 1.0.5 -- --with-cppflags=-I/usr/local/opt/openssl/include $ bundle install
3. Setup the Database
Before we set up all the tables in the database, the Rails code depends on a few configuration files, you can pull in the default configuration values by running the following command:
$ for config in secrets database; do cp -v config/$config.yml.example config/$config.yml; done
config/secrets.yml file and replace the pieces specified with values generated by:
$ bundle exec rake secret
Lets setup our database configuration:
$ createdb openassessments_development $ createdb openassessments_test
We can populate the database by running the following commands:
$ APP_SUBDOMAIN=localhost bundle exec rake db:migrate $ APP_SUBDOMAIN=localhost bundle exec rake db:seed
Make sure to have the correct version of Node running.
$ nvm use 0.10.37
If this command fails because it isn't installed, install it.
$ nvm install 0.10.37
$ cd client $ npm install
You may also need to install these 4 dependencies after running the initial
npm install for reasons yet unknown:
$ npm install firstname.lastname@example.org $ npm install email@example.com $ npm install firstname.lastname@example.org $ npm install email@example.com
5. Start the server and React "hot reloading"
In another terminal window,
fire up React Hot Loader in
$ cd client/ $ node webpack.hot.js
in another terminal window,
run the rails server in
$ cd OpenAssessments $ bundle exec rails s -p 3001
localhost:3001 in a browser window,
and you should be good to go.
undefined method "restrict_signup' for nil:NilClass"
If this error is encountered when loading the application in a web browser, you will need to modify a value in the database.
$ cd openassessments/ $ rails c irb(main):002:0> a = Account.first irb(main):003:0> a.domain = 'localhost' irb(main):004:0> a.save
On the Ruby side,
for unit testing.
To run unit tests against the Ruby code,
bundle exec rake spec from the project root directory.
You may need to install
chromedriver if you haven't already.
$ brew install chromedriver
Assuming you are using
for hosting and you have everything configured correctly,
deployment is as simple as running
eb deploy from the project root directory.
For details on setting up deployment with AWS, follow these instructions.