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.