Batucada is a ground up rewrite of drumbeat.org in Django.
To install Batucada, you must clone the repository:
git clone git://github.com/paulosman/batucada.git
If you're planning on contributing back to the project, fork the repository instead in the usual GitHub fashion.
Next, you'll need to install
pip if you don't already have them:
sudo easy_install virtualenv sudo easy_install pip
virtualenvwrapper is also recommended (see the installation instructions). Be sure to configure your shell so that pip knows where to find your virtual environments:
# in .bashrc or .bash_profile export WORKON_HOME=$HOME/.virtualenvs export PIP_VIRTUALENV_BASE=$WORKON_HOME export PIP_RESPECT_VIRTUALENV=true source /usr/bin/virtualenvwrapper.sh
Now create a virtual environment for
batucada and install its dependencies:
cd batucada mkvirtualenv --no-site-packages batucada workon batucada pip install -r requirements/compiled.txt pip install -r requirements/dev.txt
There's a chance that packages listed in
requirements/compiled.txt won't install cleanly if your system is missing some key development libraries. For example, lxml requires
libxslt-dev. These should be available from your system's package manager.
To be extra sure you're working from a clean slate, you might find it helps to delete
find . -name "*.pyc" | xargs rm
settings_local.py based on the template provided in the checkout. Edit the database parameters as needed
cp settings_local.dist.py settings_local.py
Now sync the database and run migrations.
python manage.py syncdb --noinput
There's a problem with real databases (read: not sqlite) where south migrations are run in an order that violates foreign key constraints. See Bug # 623612 for details. Until that is fixed, you're best off running migrations in this order.
python manage.py migrate projects python manage.py migrate users python manage.py migrate activity python manage.py migrate statuses python manage.py migrate links python manage.py migrate dashboard python manage.py migrate relationships
What a pain!
Finally, start the development server to take it for a spin.
python manage.py runserver