Add architecture module map
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
# Modulkarte ERP Naurua
|
||||
Stand: 2026-06-15
|
||||
Status: Architektur-Arbeitskarte
|
||||
|
||||
## 1. Zweck
|
||||
|
||||
Diese Modulkarte ordnet das System in klar getrennte fachliche Hauptmodule, Submodule und technische Querschnittsbereiche. Sie dient als Zielbild fuer die saubere Trennung von Ownership, Schnittstellen und wiederverwendbaren `shared`-Bausteinen.
|
||||
|
||||
## 2. Leitlinien
|
||||
|
||||
- Jedes Hauptmodul besitzt genau eine Primaerverantwortung.
|
||||
- Submodule sind nur interne fachliche Zuschnitte innerhalb eines Hauptmoduls.
|
||||
- `shared` enthaelt nur fachlich neutrale, wiederverwendbare Bausteine.
|
||||
- `system` enthaelt nur technische Runtime-, Start-, Trigger- und Laufzeitlogik.
|
||||
- Fachliche Logik bleibt immer im owning Modul.
|
||||
- Cross-Modul-Zugriffe erfolgen nur ueber explizite Schnittstellen.
|
||||
|
||||
## 3. Moduluebersicht
|
||||
|
||||
| Modul | Typ | Submodule | Primaerverantwortung | Owned Daten / Artefakte | Writes | Reads | Public Interface | `shared`-Bedarf |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| Kontakte | Hauptmodul | Stammdaten, Adressen, Kommunikationsdaten | Kunden-, Lieferanten- und Kontaktstamm | `party`, `address`, `contact` | Kontaktstamm, Adressen, Kommunikationsdaten | Referenzen aus Bestellungen, Buchhaltung, Beratung | Kontakt-API, Such- und Lookup-Schnittstellen | Validierung, Formatierung, UI-Bausteine |
|
||||
| Bestellungen | Hauptmodul | Bestellkopf, Positionen, Status | Operative Bestellverarbeitung | `sales_order`, `sales_order_line`, Statusdaten | Bestellanlage, Status, Zuordnung | Kontakte, Artikel-Mapping, Lager | Bestell-API, Status-API | Geld-/Datumsformat, Tabellen- und Status-Patterns |
|
||||
| Lager | Hauptmodul | Chargen, Bewegungen, Bestandsfuehrung | Bestand, Charge, MHD, Bewegungen | `product`, `stock_lot`, `stock_move`, `v_stock_lot_balance` | Warenzugang, -abgang, Umlagerung, Chargenpflege | Bestellungen, Import, Direktverkauf | Lager-API, Bestands- und Chargen-Schnittstellen | Listen-, Detail- und Statusdarstellung |
|
||||
| Artikel-Mapping | Hauptmodul | Externe Artikel, interne Artikel, Zuordnung | Aufloesung externer Shopdaten auf interne Artikel | `sellable_item`, `external_item_alias`, `sellable_item_component` | Aliaspflege, Zuordnung, Bundle-/Komponentenpflege | Bestellungen, Import | Mapping-API | Suchlogik, Tabellenmuster, Normalisierung |
|
||||
| Import / Integration | Hauptmodul | Webhooks, Import-Routing, externe Adapter | Annahme und Verteilung externer Eingangsdaten | Integrationsdaten, Importzustand, technische Events | Importausloesung, technische Events | Externe Quellen, operative Kernmodule | Webhook- und Import-Schnittstellen | HTTP-nahe Bausteine, Parsing, technische Validierung |
|
||||
| Direktverkauf | Hauptmodul | Tageserfassung, Sammelverkauf | Manuelle Erfassung von Direktverkaeufen | Direktverkaufsbelege, Erfassungsdaten | Direktverkauf, Ausloesung operativer Folgeschritte | Kontakte optional, Lager, Bestellungen | Direktverkaufs-UI und API | Erfassungsmuster, Formularbausteine |
|
||||
| Buchhaltung | Hauptmodul | Debitoren, Kreditoren, Hauptbuch, Nebenbuecher | Finanzbuchhaltung, Kontierung, Abschluss, Steuerlogik | Buchungssaetze, Konten, OP-Positionen, Steuerdaten | Verbuchung, OP-Pflege, Abschlusslaeufe | Freigegebene ERP-Belege, Zahlungsdaten, Kontenplan | Buchhaltungs-API, Buchungsimport, Zahlungsabgleich | Geld-/Steuerformat, Listen, Prüf- und Statusmuster |
|
||||
| Kundenberatung | Hauptmodul | Gespraechserfassung, Empfehlungen, Follow-ups | Beratungsfall, Bedarf, Empfehlung, Rueckmeldung | Beratungsgespräche, Empfehlungen, Rueckmeldungen | Gespraech, Notizen, Follow-ups | Kontakte, Produkte, Bestellungen | Beratungs-API, Fall- und Verlaufsschnittstellen | Formular- und Verlaufsmuster |
|
||||
| `shared` | Technischer Bereich | UI, Helpers, technische Services | Fachlich neutrale Wiederverwendung | Wiederverwendbare technische Bausteine | Keine fachlichen Writes | Mehrere Module | Gemeinsame technische APIs und Komponenten | Kernbereich |
|
||||
| `system` | Technischer Bereich | Runtime, Trigger, Scheduler, Supervisor | Technische Laufzeit und Ausfuehrungslogik | Jobs, Trigger, technische Laufzeiten | Systemnahe Laufzeitlogik | Technische Zustandsdaten | Systeminterne technische Schnittstellen | Laufzeit-, Job- und Triggerbausteine |
|
||||
|
||||
## 4. Modulzuschnitt im Zielbild
|
||||
|
||||
### 4.1 ERP-Kern
|
||||
|
||||
Der ERP-Kern besteht aus:
|
||||
|
||||
- Kontakte
|
||||
- Bestellungen
|
||||
- Lager
|
||||
- Artikel-Mapping
|
||||
- Import / Integration
|
||||
- Direktverkauf
|
||||
|
||||
Diese Module bilden die operative Kernverarbeitung. Sie duerfen Buchhaltung nur ueber klare Integrationsschnittstellen versorgen.
|
||||
|
||||
### 4.2 Buchhaltungssystem
|
||||
|
||||
Die Buchhaltung ist ein eigenes Hauptmodul mit eigener fachlicher Ownership.
|
||||
|
||||
Es erhaelt aus dem ERP:
|
||||
|
||||
- freigegebene Rechnungen oder Erlosereignisse
|
||||
- Zahlungsinformationen
|
||||
- relevante Debitoren-/Kreditoren-Referenzen
|
||||
- Buchungsgrundlagen aus operativen Belegen
|
||||
|
||||
Es fuehrt selbst:
|
||||
|
||||
- Kontierung
|
||||
- Hauptbuch
|
||||
- Nebenbuecher
|
||||
- OP-Verwaltung
|
||||
- Zahlungslauf
|
||||
- Mahnwesen
|
||||
- Abschluss und Steuerlogik
|
||||
|
||||
### 4.3 Kundenberatung
|
||||
|
||||
Kundenberatung ist ein eigenes Hauptmodul fuer fall- und gespraechsbezogene Arbeit.
|
||||
|
||||
Es erhaelt aus dem ERP:
|
||||
|
||||
- Kundenstamm
|
||||
- Kaufhistorie
|
||||
- produktbezogene Referenzen
|
||||
|
||||
Es fuehrt selbst:
|
||||
|
||||
- Gespraechserfassung
|
||||
- Bedarfserhebung
|
||||
- Produktempfehlungen
|
||||
- Rueckmeldungen
|
||||
- Follow-up-Logik
|
||||
|
||||
## 5. `shared`-Regeln fuer das Zielbild
|
||||
|
||||
In `shared` gehoeren nur Bausteine, die fachlich neutral sind und in mehreren Modulen wiederverwendet werden koennen:
|
||||
|
||||
- UI-Komponenten und Layout-Bausteine
|
||||
- Tabellen, Formulare, Statusdarstellung
|
||||
- Validierung ohne Fachentscheidungen
|
||||
- Datums-, Geld- und Formatierungshelfer
|
||||
- technische API-Clients
|
||||
- Logging, Auth- und Session-nahe Hilfen
|
||||
- generische Fehler- und Ladezustandsmuster
|
||||
|
||||
Nicht in `shared` gehoeren:
|
||||
|
||||
- Buchhaltungsregeln
|
||||
- Lagerlogik
|
||||
- Beratungslogik
|
||||
- Bestellfachlogik
|
||||
- modulpezifische Dateninterpretation
|
||||
|
||||
## 6. Naechste Strukturierungsarbeit
|
||||
|
||||
Aus dieser Modulkarte folgen als naechste Dokumente:
|
||||
|
||||
1. Modulvertraege je Hauptmodul
|
||||
2. Owned-DB-Register je Modul
|
||||
3. Prozessvertraege fuer die Hauptprozesse je Modul
|
||||
4. Liste der wiederverwendbaren `shared`-Bausteine
|
||||
|
||||
Reference in New Issue
Block a user