Skip to content
The code powering and
JavaScript HTML Ruby CSS Gherkin Shell Other
Branch: staging
Clone or download
wjordan fix levelbuilder dashboard secrets
Levelbuilder requires secrets for devise and secret_key_base config.
[ci skip]
Latest commit ef138c8 Aug 22, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Code review feedback Jul 8, 2019
.tmputils Add .gitkeep to .tmputils/ Aug 18, 2016
apps Merge pull request #30289 from code-dot-org/aug14 Aug 21, 2019
aws Merge pull request #30134 from code-dot-org/provision-aurora-cluster-… Aug 7, 2019
bin Skip click tracking for confirmation emails. Aug 21, 2019
config fix levelbuilder dashboard secrets Aug 22, 2019
cookbooks Updated cookbook versions Aug 13, 2019
dashboard skip ApiControllerTest#sign_cookies test Aug 21, 2019
docker Fix Codecov reporting for Drone Jul 24, 2019
docs Merge pull request #28071 from code-dot-org/ha/survey-design Apr 26, 2019
experimental Improvements, changes, and fixes to ELO model. Oct 4, 2016
i18n apps i18n updates Aug 20, 2019
lib Merge pull request #30228 from code-dot-org/secrets_erb Aug 21, 2019
node_modules fix tests Aug 6, 2019
pegasus staging content changes (-robo-commit) Aug 21, 2019
shared print better info about which pegasus db is being migrated Aug 10, 2019
tools New links for the broken link checker ignore list Aug 7, 2019
.drone.yml Set CIRCLE_SHA1 to head commit for staging codecov test run Aug 20, 2019
.eslintrc.js upgrade eslint Jul 11, 2019
.gitignore Merge pull request #29917 from code-dot-org/empty-p5lab Jul 30, 2019
.gitmodules Revert "Add email to application export [ci skip]" Feb 4, 2019
.haml-lint.yml add fixtures exclude to .haml-lint.yml Mar 16, 2018
.haml-lint_todo.yml Remove un-referenced views from Feb 15, 2018
.hound.yml Add `rake lint:scss` task, pre-commit hook and Hound CI config Jun 16, 2016
.mention-bot Make mention bot config valid json Nov 7, 2016
.nvmrc [skip ui] Updating Node.js to LTS version 8.15.0 Jan 30, 2019
.rubocop.yml Upgrade to Ruby 2.5 Mar 23, 2018
.rubocop_hound.yml update rubocop to 0.52.1 Jan 5, 2018
.rubocop_todo.yml Merge pull request #23613 from asherkach/rubocop-style-redundant-begin Jul 13, 2018
.scss-lint.yml Try to disable PropertyCount SCSS lint rule in HoundCI Apr 19, 2017 Fix up code of conduct [ci skip] Jul 13, 2018 Update Nov 13, 2018
Gemfile Update mini_magick gem. Aug 7, 2019
Gemfile.lock Update mini_magick gem. Aug 7, 2019
LICENSE update LICENSE to include local development environment Feb 5, 2016
NOTICE Add attribution in copyright notices and NOTICE file. Mar 30, 2016 Move documentation links earlier in the README Apr 23, 2019
Rakefile Fix violations of rubocop Style/SpaceBeforeBlockBraces. Mar 21, 2017 Remove old yarn path instruction Jul 8, 2019 Remove deprecated React example from Sep 7, 2017 update karma docs to reflect --foo=bar syntax Jul 12, 2019
Vagrantfile Fix `rubocop --only Style/IndentationConsistency` TODOs Apr 20, 2015
codecov.yml Enable codecov github comments Jul 24, 2019
config.yml.erb Merge pull request #30228 from code-dot-org/secrets_erb Aug 21, 2019
deployment.rb Refactor CDO application-config defaults Jun 18, 2019
locals.yml.default Add documentation for config.yml.erb Jun 18, 2019
yarn.lock fix tests Aug 6, 2019

Coverage Status

Welcome! You've found the source code for the website and the Code Studio platform. is a non-profit dedicated to expanding access to computer science education. You can read more about our efforts at

Quick start

  1. Follow our setup guide to configure your workstation.
  2. rake build to build the application if you have not done so already
  3. bin/dashboard-server to launch the development server.
  4. Open your browser to

To see a list of all build commands, run rake from the repository root.

How to help

Wondering where to start? See our contribution guidelines.

What's in this repo?

Here's a quick overview of the major landmarks:



The server for our Code Studio learning platform, a Ruby on Rails application responsible for:

  • Our courses, tutorials, and puzzle configurations
  • User accounts
  • Student progress and projects
  • The "levelbuilder" content creation tools


The server for the website, a Sinatra application responsible for:


The JavaScript 'engine' for all of our tutorials, puzzle types and online tools. It gets built into a static package that we serve through dashboard. Though there are currently some exceptions, the goal is that all JS code ultimately lives here, so that it gets the benefit of linting/JSX/ES6/etc. Start here if you are looking for:

Everything else

  • aws: Configuration and scripts that manage our deployments.
  • bin: Developer utilities.
  • cookbooks: Configuration management through Chef.
  • shared: Source and assets used by many parts of our application.
  • tools: Git commit hooks.
You can’t perform that action at this time.