A wafer-thin web application for running small conferences. Built using Django.
Licensed under the ISC License.
Available on readthedocs.org.
Wafer supports Django 1.8 and Django 1.9.
pip install -r requirements.txt
should install all the required python and django dependencies.- Wafer uses npm to manage front-end dependencies
- Make sure you have a recent version of Node.js installed that includes
npm
. - Run
npm install
to install all dependencies, which also copies them towafer/static/vendor
.
- Make sure you have a recent version of Node.js installed that includes
- Install the wafer applications
manage.py migrate
- If you don't have one yet, create a superuser with
manage.py createsuperuser
. Examine the
settings.py
file and create alocalsettings.py
file overriding the defaults as required.STATIC_FILES
,WAFER_MENUS
,MARKITUP_FILTER
,WAFER_TALKS_OPEN
,WAFER_REGISTRATION_OPEN
andWAFER_PUBLIC_ATTENDEE_LIST
will probably need to be overridden.If you add extensions to
MARKITUP_FILTER
, be sure to install the appropriate python packages as well.- Log in and configure the Site:
- The domain will be used as the base for e-mails sent during registration.
- The name will be the conference's name.
- Wafer uses the Django caching infrastructure in several places, so the cache table needs to be created using
manage.py createcachetable
. - Create the default 'Page Editors' and 'Talk Mentors' groups using
manage.py wafer_add_default_groups
. - Have a fun conference.
The default templates and css files require jquery and bootstrap to work.
wafer provides a bower.json file to simplify the installation process. This requires a working nodejs installation.
- Install bower
npm install bower
- Use bower to install appropriate versions of bootstrap and jquery
$(npm bin)/bower install
- Move files to the correct location
manage.py collectstatic
- Support for adding and editing sponsors via Django admin.
- Schedule can be created and updated via Django admin.
- Pages for static content, news and so forthe can be handled via Django admin.
- Can be delegated to the 'Page Editors' group.
- Pages can be updated via the web interface.
- Talk submissions and acceptance.
- Generate a static version of the site for archival.
- Make the code easier to use for other conferences (split out theming, etc).
- Improve the talk submission management module:
- Better display of accepted talks.
- Make various messages easier to customise.
- Improve admin support for the schedule:
- Show table of slots in admin interface.
- Improve handling of moving talks around.
- Support for adding news (and other templated pages) via Django admin.
- Maybe add some cool visualizations with d3:
- Number of people signed up in various categories.
- Places remaining.
- Sponsorship slots remaining.
- Days until various deadlines.
- Other improvements
- Add many tests