Klingsbo was built by going through the Django Tutorial, and then adding tests inspired by Daniel Lindsley's excellent tutorial on Django testing (part one, part two).
Klingsbo uses South for database migrations, PostgreSQL as the production database, and Gunicorn as the production webserver.
To setup Klingsbo on your dev box:
-
create and activate a virtualenv
-
run 'pip install -r requirements.txt' from within the project directory.
-
run 'python manage.py syncdb --noinput'
-
run 'python manage.py migrate'
The 'migrate' command will load the initial_data.json file which creates an admin user and the first poll. The admin username is 'admin' and the password is 'abc123'.
Database setup: Klingsbo is configured to use PostgreSQL locally (ie on your dev box) and also when running the test suite on Strider. There is a sqlite dev configuration commented out in settings.py should you wish to to use sqlite locally instead of PostgreSQL. Heroku will add its own block of code to settings.py for production PostgreSQL.
Heroku setup: Strider will setup a new application on Heroku and do a git push to Heroku after each successful test run (if configured to 'deploy on green'). Strider will also run 'syncdb' and 'migrate' after each code push.
For more details on running Django projects on Heroku, see Getting Started with Django on Heroku/Cedar
Strider is a hosted continuous deployment platform for Python and node.js. Learn more at StriderApp.com.