Files
article-data-manager/docs/architecture.md

2.2 KiB

Architektur

Systemkontext

Article Data Manager ist ein lokales Werkzeug zur Erzeugung einer RollCalc-kompatiblen article-data.json. RollCalc ist ein externer Konsument und bleibt technisch getrennt.

Verantwortlichkeiten

  • Import vorhandener RollCalc-Artikeldaten.
  • Import eines ERP-CSV-Exports.
  • Import manuell gepflegter Zusatzdaten.
  • Normalisierung technischer Formate, ohne fachliche Bedeutungen zu erraten.
  • Validierung und Konflikterkennung.
  • Deterministischer Export fuer RollCalc.
  • Reports fuer Treffer, Nicht-Treffer, Konflikte und Validierungsfehler.

Modulgrenzen

  • models: interne Datenmodelle.
  • importers: Lesen von JSON- und CSV-Quellen.
  • validation: Format-, Typ- und Fachvalidierung.
  • merge: Merge-Regeln, Konflikterkennung und Prioritaeten.
  • exporters: Ausgabe der RollCalc-kompatiblen JSON-Datei.
  • cli: spaetere Kommandozeile.

Datenfluss

data/source/erp/production-key-data.csv
data/source/rollcalc/article-data.json
data/manual/article-manual-data.csv
        |
        v
Import -> Normalisierung -> Validierung -> Merge -> Export
        |
        +--> data/reports/
        +--> data/generated/article-data.json

Datentrennung

Quelldaten, manuelle Daten und generierte Daten bleiben physisch und logisch getrennt. Produktive Dateien in data/ und incoming/ werden nicht versioniert.

Erweiterbarkeit

Weitere Quellen sollen als eigene Importer angebunden werden. Jede Quelle muss Originalfeldnamen, Einheiten, Prioritaet und Konfliktverhalten dokumentieren.

Spaetere Weboberflaeche

Eine lokale Weboberflaeche ist erst nach einem reproduzierbaren CLI-Merge sinnvoll. Sie soll manuelle Zusatzdaten pflegen, ERP-Werte anzeigen und Eingaben validieren, aber keine Quelldaten direkt ueberschreiben.

Spaetere Datenhaltung

Phase 4 kann SQLite als lokale Datenbasis einfuehren. PostgreSQL ist nur sinnvoll, wenn Mehrbenutzerbetrieb, zentrale Freigaben oder Integrationen dies tatsaechlich erfordern.

RollCalc als externer Konsument

RollCalc konsumiert ausschliesslich die exportierte article-data.json. Aenderungen am Ausgabeformat muessen mit der RollCalc-Kompatibilitaet abgeglichen und dokumentiert werden.