Directory structure

All the source code lives in src/, which has several subdirectories.

pretix/

This directory contains nearly all source code that belongs to pretix.

base/

This is the Django app containing all the models and methods which are essential to all of pretix’s features.

control/

This is the Django app containing the front end for organizers.

presale/

This is the Django app containing the front end for users buying tickets.

api/

This is the Django app containing all views and serializers for pretix’ REST API.

helpers/

Helpers contain a very few modules providing workarounds for low-level flaws in Django or installed 3rd-party packages.

locale/

Contains translation file for pretix

multidomain/

Additional code implementing our customized URL handling.

static/

Contains all static files (CSS/SASS, JavaScript, images) of pretix’ core. We use libsass as a preprocessor for CSS. Our own sass code is built in the same step as Bootstrap and FontAwesome, so their mixins etc. are fully available.

testutils/

Contains helper methods that are useful to write the test suite for pretix or test suites for pretix plugins.

tests/

This is the root directory for all test codes. It includes subdirectories api, base, control, presale, helpers, multidomain and plugins to mirror the structure of the pretix source code as well as testdummy, which is a pretix plugin used during testing.