Skip to content

l-striegel/LagerClientBlazor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LagerClient Blazor - Artikelverwaltung

Eine moderne Blazor WebAssembly-Anwendung zur Verwaltung von Lagerartikeln mit Excel-ähnlicher Bearbeitung, Offline-Fähigkeit und reaktivem State-Management.

.NET Version Status Version

Features

  • 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

Screenshots

image image image

Installation

Voraussetzungen

  • .NET 8.0 SDK oder höher
  • Ein moderner Webbrowser (Chrome, Firefox, Edge)

Installation und Start

  1. Repository klonen: git clone https://github.com/l-striegel/LagerClientBlazor.git
  2. In das Projektverzeichnis wechseln: cd LagerClientBlazor
  3. Anwendung starten: dotnet run --project Client/Client.csproj
  4. Im Browser öffnen: http://localhost:5148

Online-Demo

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.

Offline-Modus ohne Backend-API

Die Anwendung kann vollständig ohne Backend-API verwendet werden:

  1. Die articles.json im Hauptverzeichnis enthält Beispieldaten
  2. Die Daten werden automatisch in den localStorage des Browsers geladen
  3. Alle Änderungen werden lokal gespeichert und können später synchronisiert werden

Backend-API Integration

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

Architektur

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)

Technologie-Stack

  • .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

Konfiguration

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

Entwicklung

Voraussetzungen für die Entwicklung

  • .NET 8.0 SDK oder höher
  • Eine IDE (empfohlen: Visual Studio 2022, Visual Studio Code mit C# Extension)

Setup-Anweisungen

  1. Repository klonen: git clone https://github.com/l-striegel/LagerClientBlazor.git
  2. Projekt in der IDE öffnen
  3. Abhängigkeiten wiederherstellen: dotnet restore
  4. Tests ausführen: dotnet test
  5. Anwendung starten: dotnet run --project Client/Client.csproj

Änderungshistorie

v1.0.0

  • 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

About

C# Blazor-Client für die Artikelverwaltung im Lager

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published