Welcome! You've found the source code for the Code.org website and the Code Studio platform. Code.org is a non-profit dedicated to expanding access to computer science education. You can read more about our efforts at code.org/about.
- Follow our setup guide to configure your workstation.
rake build
to build the application.bin/dashboard-server
to launch the development server.- Open your browser to http://localhost-studio.code.org:3000/.
To see a list of all build commands, run rake
from the repository root.
Wondering where to start? See our contribution guidelines.
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 Code.org 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. Start here if you are looking for:
- The Hour of Code tutorials: Star Wars, Minecraft, Frozen and Classic Maze
- Tools like Artist, Play Lab and App Lab
- Other core puzzle types: Maze, Farmer, Bee, Bounce, Calc, Eval
JavaScript code specific to our Code Studio learning platform. This also becomes a static package served by dashboard, and is tightly coupled to dashboard code.
- SETUP: Instructions to get everything up and running.
- TESTING: How to be sure nothing broke.
- STYLEGUIDE: Our code style conventions.
- Our LICENSE and NOTICE.
- There are many more topical guides in the docs folder.
- In addition, several sections of the repository have their own documentation:
- aws: Configuration and scripts that manage our deployments.
- bin: Developer utilties.
- blockly-core: Our custom version of Google Blockly, the visual programming language used for many of our interactive tutorials.
- cookbooks: Configuration management through Chef.
- shared: Source and assets used by many parts of our application.
- tools: Git commit hooks.