# AI.md — Strukturvorgaben für neue Applikation **Autoren:** Björn Runden , Gerd Goldberg , Bruno Runden **Zweck dieses Dokuments:** Verbindliche strukturelle, betriebliche und infrastrukturelle Vorgaben für eine neue Python-Applikation. Applikationslogik, Routing und Frontend sind bewusst nicht Teil dieses Dokuments. --- ## 1. Technologie-Stack | Schicht | Technologie | |---|---| | Backend-Framework | Python Flask 2.x | | OIDC-Authentifizierung | Authlib (gegen Zitadel als externen IdP) | | Datenbank / ORM | SQLite + SQLAlchemy | | Konfiguration | 12-Factor-App via `.env`-Datei | | Produktions-Server | Waitress | | Container | Docker (`python:3.11-slim`), orchestriert via `docker-compose.yml` | | Frontend-Framework | Mithril.js | --- ## 2. Verzeichnisstruktur ```text . ├── ai-context/ # Anweisungen und Information für Mistral AI ├── App_Server/ # Enthält Alles, was auf den Server (Backend) gehört │   ├── data/ # enthält die SQLite-Datenbanken │   ├── Dockerfile │   ├── root/ # Enthält alle Python-Programme │   │   ├── approot.py │   │   ├── auth # Enthält Programme zu Benutzerverwaltung │   │   │   ├── model/ # Enthält die Datenmodelle der Benutzerverwaltung │   │   │   └── routes.py │   │   ├── config.ini │   │   ├── db.py │   │   ├── requirements.txt │   │   ├── routes/ # Enthält die Route-Definitionen für Flask │   │   ├── runserver.py │   │   ├── settings.py │   │   └── templates/ # enthält die Vorlagen für Jinja2 │   └── scripts/ # enthält Scripts, die im Dockjer-Container ausgeführt werden ├── Client/ # Enthält alles, was für die Browser-basierte GUI erforderlich ist │   ├── Components/ # enthält die mit mithril.js entwickelten GUI-Komponenten │   │   ├── auth/ # enthält die GUI-Komponenten für die Benutzer-Verwaltung │   │   │   └── models/ # enthält die Datenmodelle für die Benutzerverwaltung │   │   └── widgets # enthält einzelne GUI-Elemente wie Eingabefelder u.ä., die dann in den Komponenten verwendet werden │   ├── index.ts │   ├── inireader.mjs │   ├── node_modules/ ├── docker-compose.base.yaml ├── docker-compose.dev.yaml ├── docker-compose.prod.yaml ├── docker-compose.save.yaml ├── Dokumentationen/ # enthält Dokumente, die für die Entwicklung wichtig sind ├── mistral-context.md ├── NGINX_Server/ # enthält die Konfiguration für den im Docker-Container laufenden NGINX-Server │   ├── certs/ # enthält die Zertifikatsdateien für die SSL-Verschlüsselung │   ├── configtemplates │   ├── Dockerfile │   └── html/ │   └── static/ # enthält die statischen Elemente der GUI, wie css-Dateien und Javascript-Dateien └── README.md ```