# awesome-workshopper [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
*alternatively, awesome-adventure*

A list of workshopper/adventure-based tutorials for various things. Inspired by awesome. These are terminal-based guides to learning a new programming concept. Here's an example screenshot from rvagg's [learnyounode](https://github.com/workshopper/learnyounode):

![Learn You The Node.js For Much Win!](https://raw.github.com/rvagg/learnyounode/master/learnyounode.png)

If you know of any other workshopper/adventure tutorials, feel free to fork/PR or open a new issue. This list will also serve as a wish-list of types: if you want a workshopper that is not listed here, open a pull request and I'll see about getting it started. 

## Raw Builders
| Project Name  |
| ------------- |
| Adventure [substack/adventure](https://github.com/substack/adventure)|
| Workshopper [rvagg/workshopper](https://github.com/workshopper/workshopper) |

## Workshoppers
| Module Name  | Description |
| ------------- | ------------- |
| [algorithms-101](https://github.com/linclark/algorithms-101) | Introduction to algorithms |
| [async-you](https://github.com/bulkan/async-you) | Learn to use https://github.com/caolan/async |
| [bacon-love](https://github.com/mikaelbr/bacon-love) | Functional Reactive Programming and Bacon.js |
| [biohacker](https://github.com/bionode/biohacker) | Gives some usage examples of bionode for bioinformatics |
| [browserify-adventure](https://github.com/substack/browserify-adventure) | Learn browserify |
| [bug-clinic](https://github.com/othiym23/bug-clinic) | Learn how to debug Node.js apps |
| [bytewiser](https://github.com/maxogden/bytewiser) | Teaches the fundamentals of working with binary data in node.js and HTML5 browsers |
| [count-to-6](https://github.com/domenic/count-to-6) | An intro to some ES6 features |
| [data-plumber](https://github.com/maxogden/data-plumber) | Munging data on the command line |
| [es5-workshop](https://github.com/timoxley/es5-workshop) | Introduction to ES5 methods |
| [expressworks](https://github.com/azat-co/expressworks) | an automated Express.js workshop |
| [footballbot-workshop](https://github.com/alanshaw/footballbot-workshop) | A step by step guide to building your own footballbot (robotics) |
| [functional-javascript-workshop](https://github.com/timoxley/functional-javascript-workshop) | A functional javascript workshop. No libraries required (i.e. no underscore), just ES5. |
| [git-it](https://github.com/jlord/git-it) | A workshopper for learning Git and GitHub. |
| [goingnative](https://github.com/workshopper/goingnative) | Learn how to write native Node.js addons |
| [how-to-npm](https://github.com/npm/how-to-npm) | A module to teach you how to module. |
| [http-adventure](https://github.com/yoshuawuyts/http-adventure) | [wip] Learn node's http module. |
| [http-works](https://github.com/Raynos/http-works) | http framework |
| [intro-to-node](https://github.com/sherodtaylor/intro-to-node) | An intro to Node.js  |
| [introtowebgl](https://github.com/alexmackey/IntroToWebGLWithThreeJS) | Intro to WebGL with three.js |
| [javascripting](https://github.com/sethvincent/javascripting) | Learn JavaScript by adventuring around in the terminal |
| [jsadventure](https://github.com/mk30/jsadventure) | Introduction to Javascript. No programming experience needed. |
| [kick-off-koa](https://github.com/koajs/kick-off-koa) | An intro to koa |
| [learn-generators](https://github.com/isRuslan/learn-generators) | JavaScript ES(6\|2015) generators workshopper. Learn in practice. :metal: |
| [learnjs](https://github.com/mikeal/learnjs) | Introduction to Javascript |
| [learnyoucouchdb](https://github.com/robertkowalski/learnyoucouchdb) | Learn you CouchDB for great good! |
| [learnyoumongodb](https://github.com/braz/learnyoumongodb) | Learn MongoDB using the terminal |
| [learnyounode](https://github.com/workshopper/learnyounode) | Learn You The Node.js For Much Win! An intro to Node.js |
| [levelmeup](https://github.com/workshopper/levelmeup) | Level Me Up Scotty! An intro to Node.js databases |
| [lololodash](https://github.com/mdunisch/lololodash) | Lo-Dash Javascript Exercises |
| [makemehapi](https://github.com/nvcexploder/makemehapi) | Introduction to Hapi |
| [mongodb-aggregate-adventure](https://github.com/braz/mongodb-aggregate-adventure) | A series of MongoDB aggregation workshops |
| [mongoose-adventure](https://github.com/wearefractal/mongoose-adventure) | Introduction to Mongoose |
| [node-debug-school](https://github.com/joyent/node-debug-school) | nodeschool curriculum for debugging Node.js |
| [nodebot-workshop](https://github.com/tableflip/nodebot-workshop) | Arduino / Johnny-five (robotics) |
| [nodenext](https://github.com/geek/nodenext) | Learn about the next version of node |
| [npm-tutor](https://github.com/timoxley/npm-tutor) | npm tutor for nodeconf 2014 |
| [oobootcamp](https://github.com/winsonwq/OOBootcamp.js) | Object-Oriented JavaScript Bootcamp |
| [planetproto](https://github.com/sporto/planetproto) | Understanding JavaScript Prototypes |
| [promise-it-wont-hurt](https://github.com/stevekane/promise-it-wont-hurt) | A Workshopper module that teaches you to use promises in javascript |
| [secureyournode](https://github.com/someoneweird/secureyournode) | Security workshop |
| [security-adventure](https://github.com/toolness/security-adventure) | Go on an educational Web security adventure! |
| [stream-adventure](https://github.com/substack/stream-adventure) | go on an educational stream adventure! |
| [stylist-workshop](https://github.com/alanshaw/stylist) | Introduction to CSS |
| [swirl](https://github.com/swirldev/swirl) | Learn the statistical computing and graphics programming language R, in R |
| [tapeshopper](https://github.com/tomgco/tapeshopper) | Learn how to test with tape! (tap-producing test harness for node) |
| [test-anything](https://github.com/finnp/test-anything) | Introduction to testing |
| [thinking-in-react](https://github.com/asbjornenge/thinking-in-react) | Introduction to React |
| [tower-of-babel](https://github.com/yosuke-furukawa/tower-of-babel) | A tour of the features of Babel.js |
| [unix-adventure](https://github.com/substack/unix-adventure) | become a unix wizard |

### Additional Tools
| Module Name  | Description |
| ------------- | ------------- |
| [adventure-map](https://github.com/timoxley/adventure-map) | Simple exercise loader & generators for substack/adventure. |
| [adventure-time](https://github.com/maxogden/adventure-time) | Web-based adventures |
| [browser-menu](https://www.npmjs.com/package/browser-menu) | Browser Menu (web based) |
| [example-adventure](https://github.com/substack/example-adventure) | Forkable starter example for writing nodeschool challenges with adventure |
| [generator-workshopper](https://github.com/mindcookin/generator-workshopper) | Yeoman generator for the marvelous workshopper from nodeschool.io |

## Workshopper Requests
Any wishes for workshopper topics go here. I may end up making them, or, if you're feeling adventurous, make it yourself then open a PR for your new list addition. If you have an idea for a workshopper/adventure, open an issue and I'll add it on.

- Angular
- MVCs
- Hapi
- Meteor

### Contribution Guidelines
If adding a new source, please ensure your pull request adheres to the following guidelines:

* Please make an individual pull request (or Github issue) for each suggestion.
* Use the following format: `| [resource](link) | description |`
* Keep descriptions short and simple. Normally the repo's description will suffice.
* Order projects alphabetically within each category.
* New categories, or improvements to the existing categorisation are welcome.

Thank you for your suggestions!

## License (ISC)

Copyright (c) 2015, Trent Oswald <trentoswald@therebelrobot.com>

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/therebelrobot/awesome-workshopper/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

