This Setup document describes how to set up your workstation to develop for Code.org.
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).
cd code-dot-org
rake build:dashboard
(Generally, do this after each pull)bin/dashboard-server
- Visit http://localhost.studio.code.org:3000/
cd code-dot-org
rake build:pegasus
(Generally, do this after each pull)bin/pegasus-server
- Visit http://localhost.code.org:3000/
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:
You'll need to do this once:
- OS X:
- Install the Java 8 JDK
cd code-dot-org
- To build apps/blocky-core, edit
locals.yml
to add: - Add
build_apps: true
- Add
build_blockly_core: true
(if you want to build blockly core -- not necessary if you only want to make changes to apps) - Add
use_my_apps: true
- To build code_studio js, edit
locals.yml
to add: - Add
use_my_code_studio: true
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.
cd code-dot-org
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.
Wondering where to start? See our contribution guidelines for more information on helping us out.