Empirical-Core is our web app for managing students, assigning activities, and viewing results. Core seamlessly incorporates 3rd party applications via the Empirical API.
JavaScript Ruby CSS HTML
Switch branches/tags
Nothing to show
Latest commit d28077d Oct 16, 2017 @ddmck ddmck Merge pull request #3251 from empirical-org/fix/student-dashboard-query
teacher dashboard fix
Failed to load latest commit information.
app teacher dashboard fix Oct 16, 2017
bin Increase consistency on bin/setup with alternatives Dec 31, 2016
client Merge pull request #3242 from empirical-org/fix/gray-icons-on-student… Oct 13, 2017
config Merge branch 'develop' into fix_cms_admin_stuff Oct 10, 2017
db updater fix Oct 6, 2017
docs Add docs for intergrating activities and saving data. Dec 12, 2016
fixtures/vcr_cassettes fix spec failures related to gem updates and to change in Concept.rb … Feb 1, 2016
lib demo fix Oct 11, 2017
log initial Nov 1, 2012
public merge Aug 31, 2017
script change admin to staff Dec 17, 2015
spec Merge branch 'develop' into feat/no-unstarted-activity-sessions Oct 11, 2017
vendor/assets Automatic linting part deux Sep 7, 2017
.env-sample move api url into ENV Jun 30, 2015
.eslintrc.js Automatic linting part deux Sep 7, 2017
.gitignore Merge branch 'develop' into feat/custom-ctas-on-tools-pages Feb 23, 2017
.rspec Generate spec_helper.rb & update .rspec Feb 14, 2015
.ruby-gemset relocate csv_loader to lib, rewrite errant shell files as rake tasks,… Jul 17, 2014
.ruby-version Add images to footer and press Dec 27, 2016
.slugignore update .slugignore Jan 29, 2017
.travis.yml Remove Brakeman from Travis Sep 21, 2017
CODE_OF_CONDUCT.md merge with develop Aug 21, 2017
CONTRIBUTING.md Fix typo in readme Apr 25, 2015
Gemfile pull develop Oct 6, 2017
Gemfile.lock pull develop Oct 6, 2017
Guardfile Guard: run only feature specs if .../pages/* changes Feb 27, 2015
LICENSE.MD Create LICENSE.MD Aug 19, 2014
Procfile remove webpack sets from the procfile. Jul 7, 2016
Procfile.dev working react Jun 8, 2016
Procfile.hot Update redis in procfile Oct 2, 2017
Procfile.static Update Procfile to start redis. Oct 2, 2017
REACT_ON_RAILS.md working react Jun 8, 2016
README.md merge develop Aug 31, 2017
Rakefile cleanup, setup tests May 27, 2014
TODO.md Update TODO.md Nov 9, 2013
config.ru Update to rails 4 Aug 3, 2013
git units are now scoped to uniqueness of visibility as well as teacher Jan 12, 2017
notes fixed active tabs Dec 1, 2015
package-lock.json merge Aug 31, 2017
package.json Merge branch 'develop' into make_tests_pass_again Sep 8, 2017
runit changes made to app May 31, 2014


Code Climate Test Coverage Build Status

Welcome to Empirical Core

Fork and Clone this repository to submit a Pull Request.

Getting Started: Visit our Community Page. The Mailing List, Chat, Issues, and Docs can all be accessed from the community page.

CLA: Please register an account & sign our CLA.

Empirical Easy Install

Here is a guide to Empirical Core that makes installation and setup easy.

If you want a simple guide to install Empirical Core, then you've come to the right place! Here's the step-by-step process to get Empirical Core running on your system:

  1. Download and install rbenv (or another Ruby version manager of your choice). You need to have Ruby version 2.3.1 installed in order to use Empirical Core. The best way to make sure you have version 2.3.1 is to follow the README and wiki of the Ruby version manager that you download.

    If you decide to use rbenv, then homebrew has a really great and easy-to-use setup and install process:

    1. brew update
    2. brew install rbenv ruby-build
    3. echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
    4. Close and reopen your terminal.
  2. Download and install postgres, the database engine Empirical Core uses. The easiest way to get started with this is to download postgres.app.

    If you're more comfortable with installing custom software, you can use homebrew to download and install postgres instead using the following commands:

    1. brew update
    2. brew install postgres
    3. Follow the instructions on the resulting info screen.
  3. Navigate to the directory where you'd like Empirical Core to live, then run the following command to clone the Empirical Core project repository:

    git clone https://github.com/empirical-org/Empirical-Core.git

  4. Use cd Empirical-Core to change directory into the Empirical Core repository.

  5. Install Redis. You can download it directly.

    Alternatively, you can use homebrew to install it by running the following commands:

    1. brew update
    2. brew install redis
  6. To run js: true/:js-tagged feature specs, install PhantomJS.

  7. Install bundler with gem install bundler.

  8. Install the bundle with bundle install.

  9. In the config folder, delete the ".example" extension from database.yml.example so that the filename reads "database.yml" by running mv database.yml.example database.yml.

  10. Set up your database by running rake empirical:setup.

  11. Run Redis with the command redis-server

  12. Run a second Redis instance (for caching) with the command redis-server --port 7654.

  13. Run a third Redis instance (for testing) with the command redis-server --port 6378.

  14. Install npm by running brew install npm.

  15. Run npm installer with the command npm install && cd ./client && npm install.

  16. Make sure to navigate back out of the "client" folder by running cd ..

  17. Run the server locally.

    1. Run the server using the command foreman start -f Procfile.static.
    2. Navigate your browser to localhost:3000 and you should see Empirical-Core pull up properly!
    3. When you're done with the server, use Ctrl-C to break it and return to your commandline.
  18. Run the command bin/guard so that Guard run specs when you save files.

Pre-installed user accounts

The installation comes with four users, though you can create as many more as you like. The pre-installed users are:

  • A teacher, username teacher and password teacher.
  • A student, username student and password student.
  • An admin, username admin and password admin.
  • An admin, username staff and password staff.

Documentation related to specific features