Eine moderne Blazor WebAssembly-Anwendung zur Verwaltung von Lagerartikeln mit Excel-ähnlicher Bearbeitung, Offline-Fähigkeit und reaktivem State-Management.
- Excel-ähnliche Tabellendarstellung: Inline-Bearbeitung mit Tastatur-Navigation
- Zellformatierung: Mehrfachauswahl von Zellen (STRG+Klick, SHIFT+Klick) zum Formatieren (Fett, Kursiv, Farbe)
- Offline-Fähigkeit: Vollständige Funktionalität auch ohne Backend-Verbindung
- Synchronisierung: Automatische Konfliktmeldung und -auflösung bei Änderungen an denselben Daten
- Konfigurierbarkeit: Anpassbare UI-Einstellungen (Zebrafarben, Zeilenhöhe, Debug-Modus)
- Responsive Design: Optimiert für Desktop und mobile Geräte
- Import/Export: Daten können als JSON exportiert und importiert werden
- .NET 8.0 SDK oder höher
- Ein moderner Webbrowser (Chrome, Firefox, Edge)
- Repository klonen:
git clone https://github.com/l-striegel/LagerClientBlazor.git
- In das Projektverzeichnis wechseln:
cd LagerClientBlazor
- Anwendung starten:
dotnet run --project Client/Client.csproj
- Im Browser öffnen: http://localhost:5148
Eine funktionsfähige Demo der Anwendung ist unter https://l-striegel.github.io/LagerClientBlazor/ verfügbar.
Durch Import der mitgelieferten article.json
(oder hier zum direkt herunterladen) können Beispieldaten geladen werden, um alle Funktionen direkt auszuprobieren.
Die Anwendung kann vollständig ohne Backend-API verwendet werden:
- Die
articles.json
im Hauptverzeichnis enthält Beispieldaten - Die Daten werden automatisch in den localStorage des Browsers geladen
- Alle Änderungen werden lokal gespeichert und können später synchronisiert werden
Die Anwendung unterstützt die Verbindung mit einer Backend-API für zentralisierte Datenhaltung:
- Standard-API-URL:
https://localhost:5001/api/article
- Vollständig offline funktionsfähig mit lokaler Datenspeicherung
- Intelligente Konfliktlösung bei der Synchronisierung
- API-Implementierung verfügbar unter: LagerAPI
Die Anwendung ist nach einem Service-basierten Pattern mit reaktivem State-Management strukturiert:
- Models: Repräsentieren Lagerartikel und ihre Eigenschaften (Article, CellStyle)
- Components: Blazor-Komponenten für die UI (Index, Settings, CellFormattingToolbar)
- Services: State-Management und Business-Logik (AppStateService, OfflineArticleService)
- .NET 8.0: Moderne C#-Features und Performance
- Blazor WebAssembly: Client-seitiges .NET im Browser
- Reactive Extensions (Rx.NET): Reaktives State-Management
- Blazored Libraries: Für lokalem Speicher, Toasts und Modale Dialoge
- xUnit & bUnit: Für automatisierte Tests
Die Anwendung wird über den Einstellungsbereich konfiguriert, der diese Optionen bietet:
Einstellung | Beschreibung | Standardwert |
---|---|---|
API URL | URL der Backend-API | https://localhost:5001/api/article |
Debug-Modus | Debug-Modus aktivieren | false |
Tabellenzeilenhöhe | Zeilenhöhe der Tabelle | 25 |
Tabellen-Zebrafarbe | Farbe für Zebrastreifen | #F0F0F0 |
- .NET 8.0 SDK oder höher
- Eine IDE (empfohlen: Visual Studio 2022, Visual Studio Code mit C# Extension)
- Repository klonen:
git clone https://github.com/l-striegel/LagerClientBlazor.git
- Projekt in der IDE öffnen
- Abhängigkeiten wiederherstellen:
dotnet restore
- Tests ausführen:
dotnet test
- Anwendung starten:
dotnet run --project Client/Client.csproj
- Erste stabile Version mit vollständiger Offline-Unterstützung
- Excel-ähnliche Tabellendarstellung mit Inline-Bearbeitung
- Mehrfachauswahl von Zellen und Formatierungsoptionen
- Konfigurierbare UI-Einstellungen
- Import/Export von Daten als JSON