Need help with workshop?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

425 Stars 113 Forks MIT License 14 Commits 4 Opened issues


Koa Training Workshop

Services available


Need anything else?

Contributors list


In this workshop, you will learn the basics of koa, Express' spiritual successor. This workshop was created for the 2014 LXJS conference in Lisbon, Portugal, and will be continuously maintained. If you have any questions or have suggestions for additional exercises, please let us know!


This workshop assumes you've had experience with:

  • node.js
  • Express, Restify, or any similar node.js frameworks
  • Asynchronous programming - callbacks or promises

ES6 generators are relatively new. This training will only give you a superficial look into generators. You should read these resources before and after doing this workshop:

  • co - the control flow engine used by koa
  • koajs - the official web page for koa
  • koa examples - a lot of examples for koa
  • - some blog posts on koa


Install node 0.11.13+. Using

, you can install it like this:
nvm install 0.11.13
nvm use 0.11.13

You can also install it directly from or using various other node version managers such as n.

Then you must install this workshop. You can either fork this workshop (recommended) or clone it:

git clone git://
cd workshop

Then install all the dependencies:

npm install
npm install -g mocha

Go through each training, which are stored in folders, in numerical older. Read the

file, edit the
files, then run each test by executing the following:
mocha --harmony-generators test.js

If you get an error message like

SyntaxError: Unexpected token *
, this means you didn't run the the process with

Learning more than just Koa

Although writing tests is not part of this workshop, you should still learn how they work. An important part of creating apps is creating the tests for it. Inspect the

files and see how supertest and mocha are used, both of which are used in Koa, Express, and libraries and frameworks. You will also see what is expected from your sample apps by reading the tests.

After you finish each training, you may want to

git commit
so you have a history of what you've done:
git commit -a -m "i finished training 1!"

Many small commits is good practice!


We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.