It's powered by nginx, nodejs, mongodb, grunt, backbone and html5. It takes profit of the most advanced features of html5, thus you should only use it with a modern browser like Mozilla Firefox or Google Chrome.
You can try Koalab on koalab.af83.com.
On koalab, you can:
- Login with Mozilla Persona (was BrowserID)
- Create a board
- Show a board
- Add post-its on it: blue, green, rose or yellow, it's your choice
- Edit in place the title of a post-it
- Move post-its with drag'n'drop
- Resize post-its
- Add some lines to cluster post-its
And our killer features are:
- A very cute logo <3 <3 <3
- When a post-it is moved or edited, it's brought on top of the other post-its.
- The font size of post-its is automatically adjusted to avoid its text to overflow.
- And it's real-time! When a user does something, it's reflected almost instantaneously on the browsers of the participants of this board!
How to run it in local?
git clone email@example.com:AF83/koalab.git cd koalab cp config/server.json.example config/server.json $EDITOR config/server.json npm install -g grunt-cli npm install . bower install grunt node koalab.js firefox http://localhost:8080/
And for production?
In production, we are using:
- nginx (you can find an example of the vhost config in the config/nginx directory)
- forever (
npm install forever -gon the server)
- and mina for deployments.
And for heroku?
config/server.jsonto git (in a dedicated heroku branch if you want).
- Don't forget to set the persona audience value to your heroku app url.
- Mongodb part is not necessary.
Add an heroku buildpack for grunt :
heroku config:add BUILDPACK_URL=https://github.com/jmreidy/heroku-buildpack-nodejs-grunt.git
- Add a mongodb provider
heroku addons:add mongolab
for mongolab or for mongohq
heroku addons:add mongohq
- Deploy on heroku
git push heroku master
config/server.json file contains some configuration entries:
authorizedis an array with the list of email addresses than can access this koalab instance.
*can be used as a joker to match one or more characters:
*@example.comwill authorized everybody whose email address has
portis the TCP port the node will listen to.
persona.audienceis the public hostname and port of the website.
mongodbis the database informations.
grunt plato $BROWER reports/back/index.html $BROWER reports/front/index.html
The logo is the copyright of Charlotte Schimdt and can be distributed and used for personal purpose.
Copyright (c) 2012 af83
Released under the MIT license