Let's Code! is a free, open source web application for young people to learn programming skills in a fun, creative way.
Check out the live site to see how it works.
To get up and running on your local machine
First time run
Clone this repository
Make sure you have grunt-cli installed
Add the following environment variables:
LETS_CODE_COOKIE_SECRET="some string you can set to whatever you want" LETS_CODE_SESSION_SECRET="another string that can be whatever you want"
(If you don't know how to do this, see this superuser post)
To use the grunt-contrib-compass plugin you will need to make sure you have the Compass Ruby gem installed. Follow the instructions in the plugins readme to see how.
grunt seedto pre-seed the database
gruntto run the site
If you get an error
require: cannot load such file -- sass/script/node
Then try uninstalling and reinstalling the sass gem.
We're using a modular approach, utilising the "mediator" pattern, with backbone.wreqr.
For an intro to this general approach, see:
To run the integration tests you will also need to install:
- casperjs - note that to use the casperjs test API you will need to install version 1.1 or greater. See the upgrade page for more details on the differences.
- While running
Sassfiles are compiled automatically when they're saved (it may take a couple of seconds though - check the terminal output).
Tailoring the setup
Configuration settings defined in either
server/development can be overridden in one of two ways:
- Create a new config file,
server/local.json, and provide an alternative value.
- Pass in a command line argument or set an environment variable. See nconf for more details.
See the Docs for information on:
Apache v2. See LICENSE.txt.
Special thanks to everyone who contributed to the development, including:
- Edward Ruchevits
- Gareth Edwards
- Phil Powell
- Adaptive Lab
And to all who have provided feedback and advice.
Email future_tech [at] pearson.com.