ABOUT:
Collabdraw is an open-source online whiteboard application built to work on desktops and tablets alike. The user interface is HTML5 (using enyojs), and the backend runs on python tornado and redis.
FEATURES:
- Works on most tablets out of the box, interface designed for touch interfaces
- Multiple rooms, pages for collaboration
- Take quick snapshots of the board
- Upload pdf and annotate on whiteboard
- Support for SSL, and authentication
- Fast, handles lots of users simultaneously
- Runs on heroku out of the box!
SERVER REQUIREMENTS:
- Python 3.2+
- Redis server
- All python packages specified in requirements.txt (which might involve installing other non-python dependencies like cairo, redis)
- libpoppler (for pdfseparate), imagemagick (for mogrify) for upload functionality
- ffmpeg to enable video functionality
INSTALLATION:
-
Install all system requirements. If on Ubuntu/Debian do:
apt-get install python3 redis-server poppler-utils imagemagick ffmpeg python3-pip git pkg-config libcairo2-dev
-
Clone the git repository
git clone git://github.com/anandtrex/collabdraw.git
-
Initialize submodules to get enyojs libraries.
cd collabdraw git submodule init git submodule update
-
Install python library requirements
pip-3.2 install virtualenv virtualenv venv source venv/bin/activate pip install -r requirements.txt
Set the hostnames, ports and other options in config.py. Most of the options are explained in the config file. You need the url that points to your redis server, and the url that points to your websocket endpoint
-
Test if your setup works
collabdraw> ./run_tests.sh
RUNNING:
- Start the redis server (On Ubuntu/Debian, on most setups, this is started automatically on installation)
- Run
python main.py
NOTES:
- All rooms are currently "public". Anyone registered user can join any room, if they know the room name. Private rooms on the way.