Django-crowdsourcing is an MIT-licensed survey and report tool for journalists, supporting many types of survey questions and a wide variety of reporting options. A reusable Django application, it is designed to be installed easily in any Django site, including multi-site installations. Its surveys are entirely configured within the admin interface that ships with Django.
While the primary focus of development is support for crowdsourcing projects, the survey tool is general purpose and can be used for a variety of applications. It is easy enough to handle simple polls with pie charts, yet powerful enough to handle complicated surveys with rich multimedia responses plotted on a map with custom icons.
History/Credits
Django-crowdsourcing began life as a fork of Doug Napoleone's
`django-survey`_. Jacob Smullyan and James Richards started the project;
Dave Smith wrote most of the 1.x version.
.. _`django-survey`: http://code.google.com/p/django-survey/
Installation
Prerequisites are:
PIL
_django-positions
_sorl-thumbnail
_flickrapi
_ (optional)Django-crowdsourcing itself can be installed with pip
_::
$ # probably in a virtualenv ... $ pip install django-crowdsourcing
.. PIL
: http://pythonware.com/products/pil/
.. django-positions
: http://github.com/jpwatts/django-positions
.. sorl-thumbnail
: http://code.google.com/p/sorl-thumbnail/
.. pip
: http://pip.openplans.org/
.. _flickrapi
: http://stuvel.eu/projects/flickrapi
Running The Example App
1. $ easy_install pip
2. $ pip install -r crowdsourcing_requirements.txt
3. $ pip install -r example_app/example_app_requirements.txt
4. By default the example app will use a sqlite db; if if you want to
change that, modify example_app/local_settings.py accordingly.
5. $ cd example_app
6. $ ./manage.py syncdb
7. $ ./manage.py runserver
8. Add some surveys in /admin/
Notes
Documentation
Extensive documentation is included, or can be read `online`_.
.. _`online`: http://packages.python.org/django-crowdsourcing/
Other Resources