Projekte MeManager Architektur

arc42-Architekturdokumentation

MeManager

Persönliche Softwareplattform

Version 1.1
Zuletzt aktualisiert 22. September 2026
12 Abschnitte
1

Abschnitt 1

Einführung und Ziele

Zweck und Umfang

MeManager ist die zentrale Plattform hinter dieser Website. Sie vereint persönliche Anwendungen, Demo-Umgebungen, Projektdokumentation und Architekturdokumentation in einem erweiterbaren Django-System.

Zentrale Qualitätsziele

  • Wartbarkeit durch klare Verantwortlichkeiten und wiederverwendbare Modelle.
  • Erweiterbarkeit, damit neue Projekte und Anwendungen ohne Neuentwurf der Plattform integriert werden können.
  • Verständlichkeit durch konsistente Projekt-, Snapshot- und Architekturdokumentation.

Stakeholder

Rolle Erwartung
Betreiber / Entwickler Die Plattform effizient warten und erweitern.
Besucher Projekte, Anwendungen und Architektur ohne Repository-Zugriff verstehen.
Anwendungsnutzer Gemeinsame oder private Anwendungen über eine konsistente Plattform nutzen.
Übersicht der MeManager-Plattform
Übersicht der MeManager-Plattform
2

Abschnitt 2

Randbedingungen

Zentrale Randbedingungen

Typ Randbedingung Begründung
Technisch Django Zentrales Framework für Routing, Persistenz, Administration und serverseitiges Rendering.
Datenbank PostgreSQL Relationale Persistenz für stark strukturierte Projekt- und Anwendungsdaten.
Deployment Docker Reproduzierbares Deployment und isolierte Dienste.
Oberfläche Tailwind CSS Gemeinsames Designsystem für die Plattform.
3

Abschnitt 3

Kontextabgrenzung

Systemkontext

Nutzer greifen über einen Webbrowser auf MeManager zu. Die Django-Anwendung bildet die zentrale Systemgrenze und persistiert Projekt-, Anwendungs- und Dokumentationsdaten in PostgreSQL.

Systemkontext

Kontextdiagramm mit MeManager, seinen Nutzern und der Persistenzgrenze.

Systemkontextdiagramm von MeManager
4

Abschnitt 4

Lösungsstrategie

Lösungsstrategie

  • Django als zentrales Web-Framework verwenden.
  • Project als zentrales Aggregat für Anwendungen, Snapshots, Technologien und Ressourcen verwenden.
  • Benannte Django-Views für interne Ressourcen statt gespeicherter URL-Pfade verwenden.
  • Eigene Django-Apps für Funktionalität mit klar abgegrenzter Domänenverantwortung verwenden.

App-Struktur

python
INSTALLED_APPS = [
    "home",
    "architecture",
]
5

Abschnitt 5

Bausteinsicht

Bausteinsicht

Die Plattform ist in Django-Apps und eine gemeinsame Konfiguration aufgeteilt. Die Home-App verwaltet Projekte, Anwendungen, Demos und Projektressourcen. Die Architecture-App verwaltet versionierte arc42-Dokumentationen.

Bausteinsicht

Übergeordnete Bausteine der MeManager-Plattform.

Bausteindiagramm von MeManager
6

Abschnitt 6

Laufzeitsicht

Architekturdokumentation öffnen

Eine Anfrage für eine Projektarchitektur löst das Projekt und die gewünschte Architekturversion auf, lädt die geordneten arc42-Abschnitte mit ihren typisierten Inhaltsblöcken und rendert jeden Block über sein eigenes Template.

Laufzeit einer Architekturanfrage

Laufzeitablauf zum Laden und Rendern einer versionierten Architekturdokumentation.

Laufzeitdiagramm für eine Architekturanfrage
7

Abschnitt 7

Verteilungssicht

Deployment-Übersicht

MeManager wird als containerisierte Django-Anwendung mit PostgreSQL-Persistenz auf Linux-basierter Infrastruktur betrieben.

Verteilungssicht

Deployment-Diagramm für Webanwendung, Datenbank und Host-Infrastruktur.

Deployment-Diagramm von MeManager

Deployment-Knoten

Knoten Verantwortung
Web-Container Führt die Django-Anwendung aus.
Datenbank-Container Führt PostgreSQL aus und persistiert Anwendungsdaten.
Linux-Host Stellt Container-Laufzeit und Netzwerkumgebung bereit.
8

Abschnitt 8

Querschnittliche Konzepte

Internationalisierung

Nutzerseitige Domäneninhalte werden zweisprachig auf Englisch und Deutsch gespeichert. translated_value() wählt modellübergreifend konsistent die aktive Sprache.

Ressourcenverlinkung

Interne Ressourcen speichern benannte Django-Views und optionale Keyword-Argumente statt fest codierter Pfade. Dadurch bleiben persistierte Links unabhängig von konkreten URL-Patterns.

9

Abschnitt 9

Architekturentscheidungen

Wichtige Architekturentscheidungen

Entscheidung Begründung
Django als zentrales Web-Framework Integriertes ORM, Administration und Template-Engine passen zur datengetriebenen Plattform.
Project als zentrales Aggregat Eine gemeinsame Projektidentität vermeidet doppelte Metadaten und Veröffentlichungszustände.
Benannte Views für interne Ressourcen URL-Patterns können geändert werden, ohne persistierte Pfade neu zu schreiben.
10

Abschnitt 10

Qualitätsanforderungen

Qualitätsanforderungen

Qualitätsziel Priorität Motivation
Wartbarkeit Hoch Klare App-Grenzen und wiederverwendbare Modelle sollen Änderungen lokal halten.
Erweiterbarkeit Hoch Neue Projekte und Dokumentationstypen sollen ohne Neuentwurf der Plattform integrierbar sein.
Verständlichkeit Mittel Architektur- und Projektinformationen sollen leicht nachvollziehbar bleiben.
11

Abschnitt 11

Risiken und technische Schulden

Risiken und technische Schulden

  • Architekturdokumentation kann veralten, wenn Änderungen nicht gemeinsam mit Implementierungsänderungen dokumentiert werden.
  • Draw.io-Diagramme benötigen einen manuellen Export, bevor aktualisierte Diagramme in der Anwendung erscheinen.
  • Die typisierte Content-Hierarchie erhöht die Anzahl der Datenbanktabellen und erfordert bewusstes Query-Optimieren.
12

Abschnitt 12

Glossar

Glossar

Begriff Definition
Projekt Zentrale MeManager-Entität für ein Software- oder Infrastrukturprojekt.
Snapshot Kompakte Projektübersicht für die Portfolio-Seiten.
Architektur Versionierte arc42-Dokumentation, die einem Projekt zugeordnet ist.
Inhaltsblock Typisierte Inhaltseinheit, die innerhalb eines arc42-Abschnitts gerendert wird.