Koalab is a board for brainstorming, Scrum or managing your family chores.
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!
Install Git, NodeJS, MongoDB, Grunt and run these commands:
git clone git@github.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/
In production, we are using:
- nginx (you can find an example of the vhost config in the config/nginx directory)
- forever (
npm install forever -g
on the server) - and mina for deployments.
-
Add
config/server.json
to 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
- Enjoy!
The config/server.json
file contains some configuration entries:
authorized
is 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.com
will authorized everybody whose email address hasexample.com
as domain.port
is the TCP port the node will listen to.persona.audience
is the public hostname and port of the website.mongodb
is the database informations.
Plato can be used to generate two reports on the JavaScript Code Analysis (back and front):
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