sphinx-quickstart on Wed Jun 21 09:54:11 2023. You can adapt this file completely to your liking, but it should at least contain the root toctree directive.
Start
AK Planning
Description
AKPlanning is a tool used for modeling, submitting, scheduling and displaying AKs (German: Arbeitskreise), meaning workshops, talks or similar slot-based events.
It was built for the KIF (German: Konferenz der deutschsprachigen Informatikfachschaften), refer to the wiki for more Information.
Structure
This repository contains a Django project called AKPlanning. The functionality is encapsulated into Django apps:
AKModel: This app contains the general Django models used to represent events, users, rooms, scheduling constraints etc. This app is a basic requirements for the other apps. Data Import/Export also goes here.
AKDashboard: This app provides a landing page for the project. Per event, it provides links to all relevant functionalities and views.
AKSubmission: This app provides forms to submit all kinds of AKs, edit or delete them, as well as a list of all submitted AKs for an event.
AKScheduling: This app allows organizers to schedule AKs, i.e. assigning rooms, slots, etc. It marks conflicts of all modeled constraints and assists in creating a suitable schedule.
AKPlan: This app displays AKs and where/when they will take place for each event. Views are optimised according to usage/purpose.
AKOnline: This app contains functionality for online/hybrid events, such as online rooms (links for video or audio calls).
AKPreference: This apps facilitates the submission of preferences for AKs, so each participants can mark which AKs they would like to visit, to facilitate better scheduling.
AKSolverInterface: This app provides an interface to an automatic solver, a tool that can be used to generate schedules based on the submitted AKs and preferences.
Setup instructions
See INSTALL.md for detailed instructions on development and production setups.
To update the setup to the current version on the main branch of the repository use the update script
Utils/update.sh or Utils/update.sh --prod in production.
Afterward, you may check your setup by executing Utils/check.sh or Utils/check.sh --prod in production.
Developer Notes
to regenerate translations use
python manage.py makemessages -l de_DE --ignore venvto create a data backup use
python manage.py dumpdata --all --indent 2 --natural-foreign --natural-primary -e contenttypes -e auth.Permission > "db.json" --tracebackto export all database items belonging to a certain event use
./Utils/json_export.sh <event_id> <export_prefix> [--prod]. The results will be saved inbackups/<export_prefix>.jsonto import database items from a json file use
python manage.py loaddata <import_file>Remember to activate your virtual environment and load settings if necessary first (export DJANGO_SETTINGS_MODULE=AKPlanning.settings_production).