Přehled solution¶
Bartech.Mobile.Eva je enterprise solution složená ze 7 projektů sdílejících společnou datovou vrstvu.
Mapa solution¶
Eva.slnx
└── src/
├── Eva.Data # Sdílená datová vrstva (core)
├── Eva.Mobile.WebApi # REST API backend
├── Eva.Manager # Blazor Server administrace
├── Eva.Mobile # .NET MAUI mobilní aplikace
├── Eva.Mobile.Pwa # Blazor WebAssembly PWA (Bartech Bonus)
├── Eva.Print # Tisková Worker Service
└── Eva.Database # PostgreSQL inicializační skripty
tests/
├── Eva.Print.Tests
└── Eva.Mobile.WebApi.Tests
scripts/ # PowerShell build a deploy skripty
.docker/ # Dockerfiles a Compose soubory
Eva.Data — Sdílená datová vrstva¶
Knihovna použitá všemi ostatními projekty. Tvoří základ systému.
Obsahuje:
- EvaDataContext — EF Core DbContext s 27 DbSet entitami
- Models/ — 27 entitních tříd
- Services/ — BaseDataService<T> + 18+ specializovaných služeb
- Common/ — Result<T> pattern, pomocné třídy
- Enums/ — FilterOperatorEnum a další výčtové typy
- Extension metody AddEvaDataServices() a AddUserServices()
Eva.Mobile.WebApi — REST API¶
ASP.NET Core 9 REST API:
- 16+ controllerů, 70+ endpointů
- Swagger / Scalar pro dokumentaci (Development)
- JWT autentizace (BaseApiController)
- Dapper pro výkonnostní dotazy
- Kestrel HTTPS (certifikát dockerdev.pfx pro vývoj)
Eva.Manager — Blazor Server administrace¶
Webová administrace s DevExpress komponentami: - 40+ Razor komponent a stránek - DevExpress gridy, formuláře, grafy - DevExpress Reporting (PDF generování) - Serilog logging - Lokalizace: cs-CZ, en-US, sk-SK, de-DE - 6 vizuálních témat
Eva.Mobile — .NET MAUI¶
Mobilní aplikace pro terénní práci:
- Android / iOS / Windows
- MVVM s CommunityToolkit.Mvvm
- Skenování čárových kódů (Camera.MAUI + ZXing)
- RFID (Unitech SDK)
- HTTP komunikace přes RestService
Eva.Print — Tisková Worker Service¶
Background service pro zpracování tiskové fronty:
- .NET Worker SDK
- Čte PrintRequest záznamy z DB
- Odesílá ZPL/EPL na síťové tiskárny (TCP port 9100)
- Závislost na privátním balíčku Libs.Bartech.Printing.Core
Eva.Mobile.Pwa — Eva Mobile PWA¶
Blazor WebAssembly Progressive Web App pro běžné zaměstnance: - Přehled vlastního majetku (My Assets) - Osobní inventury (My Inventories) — potvrzení svěřeného majetku - Fotodokumentace majetku - Instalovatelná jako PWA (offline podpora) - Sdílí REST API (Eva.Mobile.WebApi) s nativní mobilní aplikací
Jak projekty spolupracují¶
┌─────────────────────────────────┐
│ Eva.Data │
│ EvaDataContext + Services │
└──────────────┬──────────────────┘
│ (sdílená vrstva)
┌────────────────────────┼────────────────────────┐
│ │ │
▼ ▼ ▼
Eva.Mobile.WebApi Eva.Manager Eva.Print
(REST API) (Blazor Server) (Worker)
│
│ HTTP/REST
├─────────────────────┐
▼ ▼
Eva.Mobile Eva.Mobile.Pwa
(MAUI) (Blazor WASM)