Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Chilicorn Code Club

Chilicorn Code Club is a Spice program project aiming to introduce Finnish school kids to coding and to give schools & teachers tools for facilitating the learning. Exercises are currently developed by Futurice employees.

Try out the application here.

Adding exercises

Write your exercise in Python and save it in one of the session folders in examples. If you are creating a new session please add new folder for it.

After adding the file edit examples.json and add the details of your exercise.

That's it, next time you open the codeclub page you'll see your excercise in the list of exercises.

Adding modules

If you want to add a module or hide some of your custom made code so that you can use it in the exercise and import it in the editor you can do that. You have to options for this.

Python module

With Python modules you work much in the same way as with exercises. Write your module in Python and save it this time under modules.

After adding the file edit modules.json IF you want to publish your module so that student can also see it. Otherwise no need to do this.

After this edit the run-function in main.js to add your module to Skulpt.

Here is example on how to do it:

Sk.externalLibraries = {
        matter: {
          path: '/static/modules/matter/__init__.js',
          dependencies: ['/static/modules/matter/matter-0.8.0.min.js']
        codeclub: {
          path: '/static/modules/'
        coordinates: {
          path: '/static/modules/'
        winter: {
          path: '/static/modules/'

JS module

It's also possible to use JS-libraries as modules. How ever you need to write Python wrapper for it to use it. For example please see how matter-0.8.0.min.js and __init__.js are added.

Adding learning material

If you want to add learning material please edit material.json.

Technical details

Start developing

  • Clone this repo or take a fork
  • In root of repo npm install
  • sudo npm install -g nodemon
  • Start the application with nodemon bin/www
  • Open a browser at http://localhost:3000/


The application is hosted on Heroku. Instructions for deploying a new version:


  1. Ask an existing developer to make you a collaborator on the Heroku codeclub app
  2. Install the Heroku CLI toolkit
  3. Login to your Heroku account: heroku login
  4. Add a new git remote: git remote add heroku

note: if you are working in a fork, make sure you have pulled the changes from the main project master to local

git remote add futuorigin
git pull futuorigin master


  1. git push heroku master
  2. Check that the app is running correctly


The MIT License.

Parts of the code are covered by PSF. See the license file for more details.


Chilicorn code club site







No releases published


No packages published