Web-based packing control system consisting of a Blazor Server UI and a dedicated ASP.NET Core Web API.
The solution retrieves the contents of logistic units from a WMS, supports warehouse operators during packing, generates shipping labels, and creates parcels/shipments in Comarch ERP XL.
WarehousePacking.Server(net8.0) β Blazor web application (UI)WarehousePacking.API(net8.0) β Web API used by the UI and integrationsWarehousePacking.Shared(net8.0) β shared contracts/models used by both UI and APIWarehousePacking.API.Tests(net9.0) β automated tests for the APIWarehousePacking.PrintService(.NET Framework 4.8) β Windows printing/label related helper service
- Import/read logistic unit content from WMS
- Warehouse packing workflow (scanning, packing control, creating/closing parcels)
- Shipping label generation/printing support
- Courier integrations (as implemented in the API): DPD, DPD Romania, GLS, FedEx (REST + SOAP)
- Creating parcels/shipments in Comarch ERP XL
- Email notifications via SMTP
- Blazor (
WarehousePacking.Server) - ASP.NET Core Web API (
WarehousePacking.API) - .NET 8 shared library (
WarehousePacking.Shared) - .NET Framework 4.8 desktop component (
WarehousePacking.PrintService) - Data access: Dapper +
Microsoft.Data.SqlClient - Logging: Serilog
- API docs: Swagger (Swashbuckle)
- Resilience: Polly
- .NET SDK 8.x (to run
WarehousePacking.ServerandWarehousePacking.API) - .NET SDK 9.x (only required to build/run
WarehousePacking.API.Tests) - Visual Studio 2022 (recommended)
- Windows + .NET Framework 4.8 Developer Pack (to build
WarehousePacking.PrintService) - Access/configuration for:
- WMS endpoints
- Comarch ERP XL integration endpoints
- SQL Server (if used by your environment)
Configuration is stored in appsettings.json / appsettings.*.json in the API and Server projects.
Configured in WarehousePacking.Server/appsettings.json:
Apis:Database:BaseUrlβ base URL of the API/backend called by the UI.Apis:Database:ApiKeyβ API key sent asX-Api-Key.CrystalReportsβ report templates and DB access used for printing (labels/invoices).
Configured in WarehousePacking.API/appsettings.json:
ConnectionStringsβ connections to ERP XL.WMSApiβ WMS base URL and token.CourierApisβ sender information and credentials for courier providers.Smtpβ SMTP configuration.
Typical configuration is done via appsettings.json / appsettings.*.json in the API and Server projects (connection strings, WMS/ERP endpoints, authentication settings, etc.).
wwwroot/downloadsinWarehousePacking.Servercontains packaged downloads (e.g., helper tools/agents) that are copied to output on build.
Screenshots are stored in the Screenshots/ folder.
List of logistic units downloaded from WMS and ready for packing.
Main packing screen used by warehouse operators.
Scanning/adding items to the current parcel.
Finalizing a parcel (closing packing, confirming dimensions/weight, etc.).
Shipment step (label generation and sending/creating the parcel in courier/ERP systems).
This project is proprietary and confidential.
It was developed for a client and is not permitted to be shared, redistributed, or used without explicit written permission from the owner.
See LICENSE for details.
Β© 2025-present calKU0




