CAMID – Offline-First Außendienst App mit Laravel

Smart Dato übernahm die bestehende Laravel-API von CAMID/ZagZag, baute eine echte Offline-First-Architektur für Außendienstteams und migrierte den Datei-Storage nach Azure.

Ähnliches Projekt besprechen

CAMID

CAMID (ZagZag/xmove) ist eine Offline-First Progressive Web App für Außendienstteams, die Projekte, Aktivitäten, Zeiterfassung, Adressen und Artikel auch ohne Internetverbindung zuverlässig verwaltet. Als Laravel Agentur aus Südtirol übernahmen wir die bestehende, mehrjährige Codebase von der Vorgängeragentur — empfohlen aufgrund unserer Laravel-Tiefe.

Ausgangssituation

  • Kontinuität einer geschäftskritischen Laravel-Anwendung

Die Vorgängeragentur hatte keinen Laravel-Entwickler mehr im Team. CAMID brauchte einen Partner, der eine unbekannte, mehrjährige Codebase schnell übernimmt und ohne Unterbrechung weiterentwickelt.

  • Offline-Zuverlässigkeit + Storage-Migration nach Azure

Außendienstmitarbeiter müssen vollständig offline arbeiten und beim Reconnect zuverlässig synchronisieren können. Parallel dazu musste der Datei- und Daten-Storage zu Azure (CAMID Cloud) migriert werden.

 

Was wir umgesetzt haben

Echte Offline-First-Architektur — eine einseitig gerichtete Sync-Pipeline (API → Sync → IndexedDB → reaktive UI), sodass die App ohne Netzwerk voll nutzbar ist.

Offline-Bearbeitung der Zeiterfassung über einen Write-Ahead-Buffer, der Änderungen offline sammelt und beim Reconnect zuverlässig abspielt und abgleicht — das schwierigste Offline-Problem, gelöst für die wichtigste Entität im Feld.

Client-seitige Volltextsuche direkt über IndexedDB, funktionsfähig ohne jede Verbindung.

Resiliente Authentifizierung, die Sessions transparent erneuert und unterbrochene Requests nach Reconnect wiederholt.

Azure-Storage-Migration — Umzug des Dateispeichers zu CAMID Cloud mit funktionsbezogenen Security Keys und sauberem Metadaten-Handling.

Technologie

Bereich Technologie
Frontend React 18, TypeScript, Vite, Tailwind CSS v4, PWA
Lokale Datenhaltung IndexedDB (Dexie), reaktive Live-Query-Hooks
Backend Headless Laravel API, PHP 8.4, Laravel Passport (OAuth2)
Datenbank & Storage PostgreSQL 17, S3/MinIO, Azure (CAMID Cloud)
Architektur Domain-driven Design — Action Classes, Presenter, typisierte DTOs
Monitoring & Tests Sentry, Laravel Pulse, Pest/Vitest, CI mit Linting & Static Analysis
Sprachen 5-sprachige UI: DE, IT, EN, PL, SL

Ihre bestehende Laravel-Anwendung braucht einen Partner, der übernehmen kann.

Ergebnisse

Nahtlose Kontinuität — Übernahme einer etablierten Codebase ohne Unterbrechung des laufenden Betriebs.

Zuverlässiger Offline-Betrieb — Zeiterfassung funktioniert offline und synchronisiert korrekt beim Reconnect.

Cloud-Migration ohne Ausfallzeit — Storage erfolgreich zu Azure migriert, inklusive Security- und Metadaten-Handling.

Schnelle Produktivität in fremder Codebase — AI-gestützte Entwicklung beschleunigte die Einarbeitung spürbar.

Enge Zusammenarbeit — regelmäßige Abstimmung mit dem Kunden hielt die Weiterentwicklung nah an den realen Anforderungen im Feld.

Was dieses Projekt besonders macht

  • Ein wirklich schwieriges Problem sauber gelöst — Offline-First mit zuverlässigem Write-and-Replay-Sync, nicht nur Read-only-Caching.
  • Headless-System mit Domain-driven-Struktur — ein bewusster Schritt über unseren Standard-Laravel-Ansatz hinaus. Er zeigt, dass wir uns in eine bestehende Architektur einarbeiten und sie stärken können, statt ihr unsere eigene aufzuzwingen.
  • Codebase-Übernahme auf Empfehlung — CAMID kam über die Empfehlung der Vorgängeragentur zu uns, gestützt allein auf unsere Laravel-Reputation. Direkt im Anschluss haben wir die Azure-Migration umgesetzt.

Häufig gestellte Fragen

Wie übernimmt Smart Dato eine bestehende Laravel-Anwendung von einer anderen Agentur?

Wir analysieren die Codebase, Architektur und offenen Baustellen, bevor wir Änderungen vornehmen. Bei CAMID stand die Kontinuität eines laufenden, geschäftskritischen Systems im Vordergrund — Weiterentwicklung ohne Unterbrechung.

Was bedeutet "Offline-First" konkret?

Die App funktioniert vollständig ohne Internetverbindung — inklusive Zeiterfassung und Suche. Änderungen werden lokal gespeichert und beim Reconnect zuverlässig mit dem Server abgeglichen.

Warum eine Migration zu Azure?

CAMID benötigte eine skalierbare, sichere Cloud-Storage-Lösung für Dateien. Wir haben die Migration mit per-Funktion-Zugriffsschlüsseln und Datei-Isolation umgesetzt.

Arbeitet Smart Dato mit bestehenden, von anderen Agenturen gebauten Systemen?

Ja, das ist eine unserer Kernkompetenzen im Laravel-Bereich. CAMID kam als Empfehlung der Vorgängeragentur zu uns, speziell wegen unserer Laravel-Erfahrung.

Wie lange hat die Umsetzung bei CAMID gedauert?

Rund zwei Monate, bei einem Tempo von 20–25 Stunden pro Monat (insgesamt ca. 40–50 Stunden) — ein bewusst schlankes, fokussiertes Engagement für die Codebase-Übernahme, die Offline-Verbesserungen und die Azure-Migration.

Ein Projekt wie CAMID? Lassen Sie uns sprechen.