Zum Inhalt

Architektur

Dieses Kapitel beschreibt die technische Architektur der easySale-Plattform.

Überblick

easySale verfolgt eine Single-Tenant Multi-Instance-Strategie mit einer geteilten Codebasis.
Jeder Kunde bekommt eine vollständig isolierte Instanz — die Entwicklung und Wartung des gemeinsamen Codes erfolgt zentral.

Kernprinzipien

1. Datenisolation (Single-Tenant)

Jeder Kunde hat eine eigene Firebase-Instanz. Es gibt keine geteilte Datenbank.
Das garantiert maximale Datensicherheit und DSGVO-Konformität.

2. Code-Sharing über Git-Dependencies

Client-Repos referenzieren das Core-Repo als Git-Dependency:

# pubspec.yaml eines Client-Repos
dependencies:
  erp_system:
    git:
      url: git@github.com:Tech-Schuppen/easySale.git
      path: core/apps/erp_system
      ref: v1.2.0  # Fester Tag für Stabilität

3. Erweiterbarkeit ohne Fork

Kundenspezifische Features werden über das Client Override System realisiert — nie durch direkte Änderungen am Core.

4. Automatisches Update-Rollout

Ein Core-Bugfix löst automatisch Rebuilds bei allen Clients aus.
Kein manuelles Mergen für Standard-Updates.