Zum Inhalt

Technologie-Stack Übersicht

KanjiIQ wurde mit einer selbst gehosteten, Open-Source-First-Philosophie entwickelt. Jede Komponente läuft auf Infrastruktur, die wir kontrollieren, ohne Anbieter-Lock-in.

Technologieübersicht

Schicht Technologie Zweck
Frontend Flutter Web Plattformübergreifendes UI-Framework
Backend Dart Frog Leichtgewichtiger REST API Server
Datenbank PostgreSQL 15 Primärer Datenspeicher mit JSONB
Übersetzung OpenAI API Dynamische Inhaltsübersetzung
Orchestrierung k3s (Kubernetes) Container-Orchestrierung
Ingress Traefik Reverse Proxy, TLS-Terminierung, Ratenbegrenzung
TLS cert-manager + Let's Encrypt Automatisierte SSL-Zertifikatsverwaltung
CI/CD Forgejo Actions Build-, Push- und Deployment-Automatisierung
Container Registry Forgejo Container Registry Docker-Image-Speicher
Versionskontrolle Forgejo (Gitea Fork) Selbst gehostete Git-Plattform
Hosting Hetzner Dedicated Server Infrastrukturanbieter
Admin Flutter Web Admin-Dashboard für Locale-/Analysemanagement

Warum diese Entscheidungen?

Dart überall

Die markanteste Architekturentscheidung ist die Verwendung von Dart sowohl für Frontend als auch Backend:

  • Flutter (Dart) für das Frontend
  • Dart Frog (Dart) für das Backend

Dies ermöglicht:

  • Gemeinsame Modelldefinitionen zwischen Client und Server
  • Einzelsprachkompetenz für das gesamte Team
  • Einheitliches Tooling (Dart Analyzer, Formatter, Test-Framework)
  • Potenzial für gemeinsame Geschäftslogik-Pakete

Selbst gehosteter Stack

KanjiIQ vermeidet bewusst verwaltete Cloud-Dienste zugunsten selbst gehosteter Alternativen:

Verwalteter Dienst KanjiIQ verwendet Vorteil
GitHub/GitLab Forgejo Volle Kontrolle, keine Preisgestaltung pro Benutzer
Docker Hub Forgejo Container Registry Am selben Standort wie der Quellcode
GitHub Actions Forgejo Actions Gleiche YAML-Syntax, selbst gehostete Runner
AWS RDS PostgreSQL auf k8s Keine stündlichen Datenbankgebühren
AWS ALB Traefik In k3s integriert, kostenlos
AWS ACM cert-manager + Let's Encrypt Kostenlose TLS-Zertifikate

Kosteneffizienz

Der gesamte Produktions-Stack läuft auf einem einzelnen Hetzner Dedicated Server, wodurch die monatlichen Kosten vorhersehbar und deutlich niedriger sind als bei vergleichbaren Cloud-verwalteten Diensten. Siehe Infrastruktur für Details.

Architekturprinzipien

  1. Container-first: Jede Komponente ist mit mehrstufigen Docker-Builds containerisiert
  2. Infrastructure as Code: Alle Kubernetes-Manifeste sind versionskontrolliert
  3. Non-root-Ausführung: Alle Container laufen als UID 1000 für Sicherheit
  4. Gesundheitsprüfungen: Jeder Container hat Liveness- und Readiness-Probes
  5. Offline-fähig: Das Frontend funktioniert ohne Internet über lokalen SQLite-Cache
  6. Datenschutzbewusst: GDPR/CCPA-konforme Analysen mit Auto-Anonymisierung