stevekrenzel / code-dot-org

The code powering code.org and studio.code.org

Home Page:http://code.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status on Travis

Circle CI on Circle

Coverage Status for dashboard unit tests

Build setup

This Setup document describes how to set up your workstation to develop for Code.org.

Codebase

Organizational Structure

Our code is segmented into four parts:

  • Blockly Core is the visual programming language platform used for the interactive tutorials.
  • Blockly includes apps—blockly puzzles built based on Blockly Core.
  • Dashboard, is the tutorial platform which organizes blockly levels into tutorials.
  • Pegasus is the main site which also includes the teacher dashboard (support for teachers to track student progress).

Running Dashboard

  1. cd code-dot-org
  2. rake build:dashboard (Generally, do this after each pull)
  3. bin/dashboard-server
  4. Visit http://localhost.studio.code.org:3000/

Running Pegasus

  1. cd code-dot-org
  2. rake build:pegasus (Generally, do this after each pull)
  3. bin/pegasus-server
  4. Visit http://localhost.code.org:3000/

Building Javascript (apps, blockly-core, and code-studio) (optional)

The studio.code.org default dashboard install includes a static build of blockly and of code-studio js, but if you want to make modifications to these you'll want to enable building them in the build:

Enabling Apps Builds

You'll need to do this once:

  1. OS X:
  2. Install the Java 8 JDK
  3. cd code-dot-org
  4. To build apps/blocky-core, edit locals.yml to add:
  5. Add build_apps: true
  6. Add build_blockly_core: true (if you want to build blockly core -- not necessary if you only want to make changes to apps)
  7. Add use_my_apps: true
  8. To build code_studio js, edit locals.yml to add:
  9. Add use_my_code_studio: true
  10. rake install

This configures your system to build apps/blockly-core/code-studio whenever you run rake build and to use the versions that you build yourself.

Building

  1. cd code-dot-org
  2. rake build

This will build everything you have set to build in locals.yml.

You can use rake build:apps, rake build:blockly_core and rake build:code_studio to build a specific project.

You can also set build_dashboard: false and/or build_pegasus: false in locals.yml if you don't need to build these frequently. They default to true.

Alternatively, you can run: rake build:core_and_apps_dev, which will build blockly core and the apps bundle without running tests and without localization.

Contributing

Wondering where to start? See our contribution guidelines for more information on helping us out.

About

The code powering code.org and studio.code.org

http://code.org

License:Other


Languages

Language:JavaScript 83.5%Language:HTML 9.2%Language:CSS 2.4%Language:PHP 2.2%Language:Ruby 2.1%Language:Racket 0.2%Language:Gherkin 0.1%Language:Python 0.1%Language:SourcePawn 0.1%Language:Shell 0.0%Language:Perl 0.0%Language:Processing 0.0%Language:C++ 0.0%Language:Emacs Lisp 0.0%Language:Prolog 0.0%Language:ApacheConf 0.0%