Abhängigkeiten (SBOM)¶
Die Software Bill of Materials der mandari-Plattform wird im Hauptrepository gepflegt, damit sie mit dem Code versioniert bleibt:
docs/SBOM.md im Repository mandariOSS/mandari
Sie listet die direkten Abhängigkeiten der Django-Anwendung, des Ingestors und des gemeinsamen OParl-Pakets mit Version, Lizenz und Zweck. Transitive Abhängigkeiten sind nicht vollständig aufgeführt. Eine maschinenlesbare CycloneDX-Erzeugung in der CI ist geplant.
Die wichtigsten Bausteine¶
| Bereich | Komponenten |
|---|---|
| Framework und Server | Django, django-htmx, django-unfold, whitenoise, gunicorn, daphne, channels, channels-redis, django-safemigrate |
| Datenbank und Cache | PostgreSQL 16, psycopg, Redis 7 |
| Suche | Elasticsearch 8 mit Python-Client |
| Dokumente | pypdf, Tesseract-OCR, optional ein externer OCR-Dienst |
| Frontend | HTMX, Alpine.js, Tailwind CSS, Tiptap, Lucide Icons |
| Ingestor | httpx, SQLAlchemy, APScheduler, Prometheus-Client |
Externe Dienste¶
mandari läuft ohne externe Dienste. Optional einbindbar sind:
- Externer OCR-Dienst für gescannte Dokumente, nur wenn ein API-Schlüssel konfiguriert ist. Ohne Schlüssel arbeitet die lokale Texterkennung.
- Externe Bridges für Ratsinformationssysteme ohne OParl, als eigene Container, siehe Quellen anbinden.
Kartenkacheln für Ortsbezüge werden lokal zwischengespeichert, damit Besucherinnen des Bürgerportals keine Anfragen an Dritte auslösen.
Diese Dokumentation¶
Die Dokumentationsseite selbst basiert auf MkDocs und Material for MkDocs (beide MIT-Lizenz) mit den Plugins für Suche, Weiterleitungen, Bildergalerie, Minifizierung und Datum der letzten Änderung. Die genauen Versionen stehen in der requirements.txt des Dokumentations-Repositories.