Repository Struktur

Aktuelle Struktur (Monorepo)

Das Projekt ist aktuell als Monorepo organisiert. Das bedeutet, App, Server und Dokumentation liegen in einem einzigen Git-Repository.

mistelmonitor/
├── lib/                # Flutter App (Mobil)
├── syncbox/            # MistelBox Server (Backend & Dashboard)
├── mistelbox-web/      # Dokumentation & Webseite (Hugo)
├── android/            # Android Native Code
├── ios/                # iOS Native Code
└── ...

Aufteilung in zwei Repositories (Optional)

Wenn das Projekt wächst, kann es sinnvoll sein, die App und den Server (“MistelBox”) zu trennen.

Warum trennen?

  • Klare Zuständigkeiten: Ein Team macht App, ein anderes Backend.
  • CI/CD: Unterschiedliche Release-Zyklen (App Stores vs. Server Deployment).
  • Größe: Das Repo bleibt schlank.

Wie trennen?

Du kannst das syncbox Verzeichnis in ein eigenes Repository auslagern:

  1. Neues Repo erstellen: Z.B. mistelbox-server.
  2. Code verschieben: Kopiere den Inhalt von syncbox/ in das neue Repo.
  3. Git Filter-Repo (Profi-Methode): Wenn du die Git-Historie für den Server-Code behalten willst, nutze git-filter-repo:
    # (In einem Klon des Original-Repos)
    git filter-repo --path syncbox/ --to-subdirectory-filter /
    Dies löscht alles AUßER syncbox und macht es zum neuen Root. Dann als neues Remote pushen.

Empfehlung

Vorerst ist das Monorepo einfacher zu handhaben, da Änderungen an der API (syncbox) oft direkt Änderungen an der App (lib) erfordern.