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:
- Neues Repo erstellen: Z.B.
mistelbox-server. - Code verschieben: Kopiere den Inhalt von
syncbox/in das neue Repo. - Git Filter-Repo (Profi-Methode):
Wenn du die Git-Historie für den Server-Code behalten willst, nutze
git-filter-repo:Dies löscht alles AUßER# (In einem Klon des Original-Repos) git filter-repo --path syncbox/ --to-subdirectory-filter /syncboxund 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.