/projekte/logbuch-app/Mobile/Live/05/2025 → laufend/Alleinentwickler

Logbuch-App

Flutter-App, die vorher handschriftliche Einträge strukturiert erfasst und auswertbar macht.

Privates Projekt

Kein öffentlicher Zugang — die App wird für einen festen Nutzerkreis betrieben.

project dossier

Snapshot

logbuch-app

Alleinentwickler

category

Mobile

status

LIVE

stack

5 tech

features

3
FlutterDartSupabasePostgreSQLREST APIs
01

Story

Problem

Einträge wurden auf Papier geführt und waren nicht auswertbar.

Lösung

Flutter-App mit strukturierten Formularen, Validierung und Supabase-Backend inklusive Authentifizierung.

Learnings

Offline-Eingabe und spätere Synchronisation müssen von Anfang an im Datenmodell stehen.

02

Key Features

features.md
  • →Formulare mit Validierung statt Freitext
  • →Supabase-Backend mit Authentifizierung
  • →Auswertung der Einträge über Zeiträume
03

Über das Projekt

README.md

Flutter-App zur Erfassung und Auswertung von Logbucheinträgen, die vorher auf Papier geführt wurden. Strukturierte Formulare mit Validierung, Supabase als Backend mit Authentifizierung, Auswertung über frei wählbare Zeiträume.

04

Meine Rolle

rolle
rolle:Alleinentwickler
  • Datenmodell mit Übertragungszustand je Eintrag
  • Flutter-App: Erfassung, lokale Ablage, Abgleich
  • Supabase-Backend mit Anmeldung und Rechten
  • Auswertung über frei wählbare Zeiträume
05

Architektur

architecture.md

Eine Flutter-App gegen ein Supabase-Backend, ohne Zwischenschicht. Die Anwendung spricht direkt mit PostgreSQL über die generierte REST-Schnittstelle; Authentifizierung und Rechte kommen aus Supabase.

Der Punkt, an dem sich der Aufbau entscheidet, ist die Erfassung: Ein Eintrag entsteht dort, wo auch das Papier lag — unterwegs, oft ohne Verbindung. Ein Eintrag ist deshalb zuerst ein lokaler Datensatz mit eigener Kennung und einem Zustand (erfasst, übertragen, bestätigt); die Übertragung ist ein zweiter Schritt, kein Teil des Speicherns.

Die Formulare sind das zweite tragende Stück. Papier erlaubt alles — eine Datenbank nicht. Jedes Feld hat einen Typ und eine Prüfung, damit die Einträge später überhaupt auswertbar sind. Genau das ist der eigentliche Gewinn gegenüber dem Heft.

Erfassung

Strukturierte Formulare mit Typen und Prüfungen statt Freitext — die Grundlage dafür, dass sich Einträge später auswerten lassen.

FlutterDart

Lokaler Speicher und Abgleich

Einträge werden zuerst auf dem Gerät abgelegt und tragen einen Übertragungszustand. Der Abgleich mit dem Server ist ein eigener Schritt.

DartSupabase

Auswertung

Zusammenfassung über frei wählbare Zeiträume — die Frage, die auf Papier nur mit Durchblättern zu beantworten war.

PostgreSQL

Konto und Rechte

Anmeldung über Supabase, Einträge sind an das Konto gebunden.

Supabase
06

Herausforderungen

Offline war kein Zusatz, sondern die Voraussetzung
Problem

Die Einträge entstehen dort, wo vorher das Heft lag — unterwegs und oft ohne Verbindung. Eine App, die zum Speichern eine Verbindung braucht, wäre genau in dem Moment nutzlos, in dem sie gebraucht wird.

Lösung

Ein Eintrag wird lokal gespeichert und bekommt einen Zustand; die Übertragung läuft später und getrennt davon. Das muss im Datenmodell von Anfang an stehen — nachträglich eingebaut, bedeutet es eine zweite Wahrheit je Eintrag.

Struktur, ohne die Erfassung zu verlangsamen
Problem

Ein Heft nimmt jede Notiz an. Ein Formular mit Pflichtfeldern und Prüfungen kann die Erfassung so umständlich machen, dass sie unterbleibt — und dann ist die App schlechter als das Papier.

Lösung

Nur das prüfen, was für die Auswertung wirklich gebraucht wird, der Rest bleibt frei. Vorbelegung aus dem letzten Eintrag, damit die häufigen Fälle wenige Griffe kosten.

07

Technologie-Entscheidungen