Přeskočit obsah

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)