2026-04-27 09:30:21 +02:00
2026-04-27 08:33:43 +02:00
2026-04-27 08:33:43 +02:00
2026-04-27 08:33:43 +02:00
2026-04-27 08:33:43 +02:00

University Process Hub (UPH)

1. Vision & Goals

Modulares Backend für Fakultätsprozesse. Startpunkt ist ein RSS-Server, erweiterbar um REST-APIs und Websockets für Echtzeit-Kommunikation. Das System dient als Basis für studentische Arbeiten.

2. Tech-Stack

  • Framework: FastAPI (Python 3.11+)
  • Kommunikation: REST & Websockets (native FastAPI Implementation)
  • Datenbank: SQLAlchemy 2.0 (Support für SQLite lokal & MariaDB produktiv)
  • Task-Queue: Celery mit Redis als Broker
  • Deployment: Docker & Docker Compose
  • Proxy: Traefik-ready mit pfadbasiertem Routing (APP_PREFIX)

3. Architektur-Richtlinien für Claude Code

  • Modularität: Jedes Modul (z.B. rss_feed) liegt in app/modules/. Es muss ohne tiefgreifende Core-Abhängigkeiten exportierbar sein.
  • Routing: Nutze APIRouter. Implementiere eine globale Middleware oder eine Prefix-Logik, die die APP_PREFIX Umgebungsvariable nutzt, damit alle Routen (inkl. Websockets) unter Traefik funktionieren.
  • Database: Zentrale database.py. Studierende nutzen SQLite, der Server nutzt MariaDB via DATABASE_URL.
  • Authentifizierung: Übernimm das Logik-Konzept aus /Users/oliver/Development/Operations/django-app/authstuff, implementiere es aber als FastAPI-Dependencies (OAuth2/JWT).
  • Admin-UI: Nutze sqladmin oder fastapi-users, um eine einfache Weboberfläche zur Datenpflege bereitzustellen.
  • Testing: Schreibe Unit-Tests mit pytest für alle Module. Teste auch die Websocket-Kommunikation mit websockets oder httpx.
  • Documentation: Nutze FastAPI's automatische Dokumentation (Swagger UI) und ergänze sie mit ausführlichen Docstrings. Erstelle zusätzlich ein docs/ Verzeichnis für weiterführende Spezifikationen und Anleitungen.
  • Code-Style: Halte dich an PEP 8. Nutze black für automatisches Formatting und flake8 für Linting. Vermeide komplexe Funktionen (>20 Zeilen) und setze auf klare, sprechende Namen.
  • UX: Orientiere Dich bei der Visualisierung am Vorläufer, zu erreichen unter https://medinf.efi.th-nuernberg.de/app/. Ersetze aber Bootstrap durch Tailwind CSS für eine modernere und flexiblere Gestaltung. Alle UI-Komponenten sollten responsive sein und auf verschiedenen Bildschirmgrößen gut funktionieren.

4. Struktur

. ├── app/ │ ├── init.py │ ├── main.py # App-Entrypoint & FastAPI Initialisierung │ ├── core/ # Übergreifende Logik │ │ ├── config.py # APP_PREFIX, DB_URL, Secrets │ │ ├── database.py # SQLAlchemy Engine & Session │ │ └── auth.py # JWT & Berechtigungen (ex-Django Logik) │ ├── modules/ # Abgeschlossene Module (für Studierende) │ │ └── rss_feed/ # Das erste Modul │ │ ├── router.py │ │ ├── service.py │ │ └── models.py │ ├── schemas/ # Pydantic Models (REST/WS Validierung) │ └── worker/ # Celery Tasks & Scheduler ├── legacy_django/ # Referenzcode (nicht aktiv) ├── docker/ │ ├── Dockerfile │ └── docker-compose.yml ├── requirements.txt └── .env.example

Description
No description provided
Readme 106 KiB
Languages
Python 88%
HTML 10.8%
Mako 1.2%