achievement-challenge
Achievement Challenge
Technologies Used:
- Client:
- HTML5
- CSS3
- JavaScript
- jQuery 2.1.4
- Server:
- Node.js v4.1.2
- ECMAScript 6
- MongoDB 3.0.6
- Both:
- HTTP
- WebSocket
Node.js Modules
- Used:
- co (https://github.com/tj/co)
- express (https://github.com/strongloop/express) = Express (http://expressjs.com/)
- express-generator (https://github.com/expressjs/generator)
- body-parser (https://github.com/expressjs/body-parser)
- jade (https://github.com/jadejs/jade)
- debug (https://github.com/visionmedia/debug)
- co-express (https://github.com/mciparelli/co-express)
- mongodb (https://github.com/mongodb/node-mongodb-native)
- ws (https://github.com/websockets/ws)
- Evaluated But Not Used:
- koa (https://github.com/koajs/koa) = koa (http://koajs.com/)
- co-mongodb (https://github.com/ArnaudCourbiere/co-mongodb)
- monk (https://github.com/Automattic/monk)
- co-monk (https://github.com/tj/co-monk)
- nodejs-websocket (https://github.com/sitegui/nodejs-websocket)
Techniques Used:
- Functional programming
- Code as data, data as code
- Higher-order functions
- Curried functions (f: X -> (Y -> (Z -> N)))
- Generators and coroutines
- Asynchronous I/O