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.