PersönlichMittel

Dynamisches Datensatzsystem

Laravel-API, mit der sich Eingabevorlagen zur Laufzeit definieren und Datensätze dagegen erfassen und validieren lassen, ohne Code zu schreiben.

— Überblick

Architekturüberblick

erDiagram
    TEMPLATE ||--o{ FIELD : definiert
    FIELD ||--o{ OPTION : bietet
    TEMPLATE ||--o{ RECORD : erzeugt
    RECORD ||--o{ VALUE : haelt
    FIELD ||--o{ VALUE : typisiert
    OPTION ||--o{ VALUE : beschraenkt
    USER ||--o{ RECORD : erstellt

Eine generische Erfassungsmaschine. Statt eine Domäne zu modellieren, modelliert sie das Modellieren selbst: Eine Administration legt eine Vorlage an, gibt ihr Felder eines gewählten Typs, und das System nimmt Datensätze dazu entgegen, validiert und speichert sie. Ein neues Formular verlangt weder Migration noch Deployment.

Das Schema trennt Vorlagen, Felder, Optionen, Datensätze und Werte: Ein Auswahl-, Radio- oder Checkbox-Feld zieht seine zulässigen Antworten aus einer vordefinierten Optionsmenge, und jeder gespeicherte Wert wird dagegen geprüft. Ursprünglich für medizinische Akten geschrieben, ist der Entwurf domänenunabhängig.

Hauptfunktionen:

  • Vorlagenerstellung zur Laufzeit mit benannten, sortierten, optional pflichtigen Feldern
  • Sieben Feldtypen: Text, Auswahl, Radio, Checkbox, Datum, Zahl und Boolean
  • Optionsmengen hinter jedem Auswahlfeld, beim Schreiben durchgesetzt
  • Automatische Prüfung von Pflichtfeldern und zulässigen Optionswerten
  • Datensätze nach Vorlage gruppiert und abfragbar
  • Administrations- und Standardrollen mit getrennten Berechtigungen
  • API-first-Entwurf mit Token-Authentifizierung über Laravel Sanctum

Tech-Stack:

  • Backend: Laravel, PHP, Sanctum
  • Views: Blade
  • Datenbank: MySQL
— Stack
PHPLaravelMySQLREST APIBlade