Die Architektur der Home Dev Platform basiert auf folgenden Prinzipien:
Service-orientierte Architektur
Headless Backend-Services
Progressive Web Apps (PWA) als Frontend
Containerisierte Services (Docker)
API-first Design
Sichere Erreichbarkeit über Cloudflare Tunnel
Optionaler VPN-Zugriff für Remote Development
2. 🧱 Architektur-Levels (C4 Model)
Die Architektur wird nach dem C4-Modell beschrieben:
Level 1: System Context
Level 2: Container Diagram
Level 3: Component View (Hello World)
Level 4: Code (in Phase 3)
3. 🌍 System Context
Beschreibung
Das System stellt eine self-hosted Plattform bereit, die über das Internet sicher erreichbar ist und gleichzeitig eine sichere Remote-Entwicklung ermöglicht.
C4 System Context Diagram
4. 🧱 Container Architektur
Beschreibung
Die Plattform besteht aus mehreren Containern, die jeweils eine klar definierte Aufgabe erfüllen:
Container
Edge Layer
Cloudflare (extern)
Entry Layer
Reverse Proxy (Traefik)
Platform Layer
Gitea (Git Hosting)
Application Layer (Hello World)
Backend API
Frontend PWA
PostgreSQL
C4 Container Diagram
5. 🔄 Datenfluss
Beschreibung
Die Kommunikation im System erfolgt ausschließlich über klar definierte Schnittstellen.
Zugriff auf Frontend
API-Kommunikation
Deployment Flow
6. 🧩 Komponentenbeschreibung
Reverse Proxy (Traefik)
Verantwortung:
- Routing basierend auf Subdomain
- Absicherung von Zugriffen
- interne Service-Isolation
Backend API
Technologie:
- Python (FastAPI)
Aufgaben:
- Bereitstellung von REST APIs
- Verarbeitung von Requests
- Zugriff auf Datenbank
Datenbank
Technologie:
- PostgreSQL
Aufgaben:
- Persistente Speicherung
- einfache Datenstruktur für Referenzsystem
Frontend (PWA)
Technologie:
- React / Vite
Aufgaben:
- Benutzeroberfläche
- API-Kommunikation
- mobile Nutzung
Git Server (Gitea)
Aufgaben:
- Repository Hosting
- Versionierung
- Grundlage für Deployment
7. 🔐 Sicherheitsarchitektur
Prinzipien
Kein direkter Zugriff auf interne Services
Kommunikation ausschließlich über Reverse Proxy
HTTPS erzwingen
Mechanismen
1. Cloudflare Tunnel
keine offenen Ports
sichere Verbindung zur Plattform
2. HTTPS
TLS über Cloudflare
3. Authentifizierung
optional auf Proxy-Ebene
optional auf API-Ebene
4. Secret Management
Environment Variablen
keine Speicherung im Code
8. 🧠 Remote Development Architektur
Beschreibung
Der Entwickler nutzt den Raspberry Pi als Remote-Workstation:
Zugriff über VPN (Tailscale)
Bearbeitung von Code direkt auf dem Pi
Nutzung von VS Code Remote
9. 🌐 Domain- & Routing-Konzept
Subdomains
Domain
Zweck
app.domain.dev
Frontend
api.domain.dev
Backend
git.domain.dev
Git
Routing
Cloudflare → Tunnel → Reverse Proxy
Reverse Proxy → Service
10. 🧪 Hello World Referenzarchitektur
Ziel
Validierung der Plattform durch ein minimales, aber vollständiges System.
Komponenten
Frontend (PWA)
Backend API
Datenbank
Architektur
11. ⚙️ Technologiestack
Backend
Python FastAPI
Frontend
React + Vite
Datenbank
PostgreSQL
Infrastruktur
Docker + Docker Compose
Proxy
Traefik
Zugriff
Cloudflare Tunnel
optional Tailscale
12. ✅ Fazit
Diese Architektur erfüllt alle Anforderungen aus Phase 1: