Label Suite

Project Name: LabelSuite

Client / Organization: Label Tech

Timeline: 2023 – 2025

Project Status: Completed

Project Overview

LabelSuite is a cross-platform, data-driven two-dimensional label-design application for producing operational, safety, asset, barcode, and pipe-marking labels. It enables users to create and maintain printable labels using reusable templates, structured supply definitions, and GHS product safety data, eliminating the need for manual artwork or disconnected document tools. Major workflows include a canvas-based editor for shapes, text, images, barcodes, styles, layers, and data fields GHS label creation pipe-marking and arrow-banding design asset-tag management and printer and supply selection.

The architecture is a .NET 8 Avalonia rich client using MVVM design pattern, dependency injection architecture, modular rendering services, and local SQLite persistence. It stores application settings locally, structured reference data, and user-managed GHS content, while JSON and XML serialization preserves configuration and label documents. Dedicated rendering and file-writing modules export designs to multiple document formats including PDF, SVG, DXF, XAML, raster images, and metafiles. CSV and Excel workflows support tabular data exchange. The project targets cross-platform desktop deployment, browser WebAssembly, Android, iOS, and macOS hosts, with platform-aware configuration and local logging support enabling deployable multi-platform applications.

Technology Stack

Frontend: LabelSuite is a cross-platform rich-client application built with .NET 8 and Avalonia UI. It uses an MVVM-oriented architecture with compiled data bindings, CommunityToolkit.Mvvm, ReactiveUI, Prism, and Autofac dependency injection. The interface features Fluent light/dark themes, reusable XAML controls, Dock.Avalonia docking layouts, data grids, dialog workflows, drag-and-drop behaviors, property panels, and a canvas-based diagram editor. Primary workflows include label design and editing, barcode generation, GHS substance management, pipe-marking label design, asset tag creation, output preview, and saved project management. The application persists window configuration and dock layouts as JSON.

Backend: The application is a local client-side .NET application rather than a server/API backend. Business logic is organized into modular service architecture for GHS product management, supplier management, label supply selection, pipe marking workflows, asset tag management, barcode labels, label libraries, application settings, and printer-related supply data. Autofac dependency injection composes services, rendering modules, file-system abstractions, serialization, and editor tools. The editor supports shape-based document editing, layers, styles, image import, Roslyn script execution, and XML label serialization. It provides multi-format export for PDF, SVG, XAML, DXF, PNG, JPEG, WebP, SKP, and EMF, while supporting CSV and Excel/OpenXML data import and export.

Authentication & Security: No user authentication system, role-based access control, single sign-on support, API token management, or remote permission management was identified. The application is designed around locally installed databases and local file storage. Platform-specific packaging includes macOS code-signing configuration with an ad-hoc signing key, providing application distribution signing rather than user authentication.

Database: Persistence is implemented with local SQLite databases using System.Data.SQLite, Microsoft.Data.Sqlite, IQToolkit SQLite, and Entity Framework Core SQLite tooling. The application includes database initialization routines and mapping-based data access for label supplies, symbols, colors, ribbons, custom supplies, and GHS content. separate SQLite databases store bundled reference data and user-maintained GHS data, including products, suppliers, hazard categories, hazard statements, precautionary statements, localized text, and product relationships. Services perform CRUD database operations using sessions, mapped entity tables, associations, and database connection pooling. JSON configuration storage is used for application settings, docking/window state, label specifications, language resources, and selected configuration data.

Third-Party Integrations: The project integrates locally embedded libraries rather than external enterprise services. Neodynamic BarcodeCore is used for barcode generation; SkiaSharp and PDFsharp, Spire.PDF, and PDFium support document rendering and preview and PDF output generation; netDxf DXF generation enables CAD exports; and OpenXML, EPPlus, CsvHelper handle spreadsheet and CSV workflows. Avalonia provides cross-platform application hosting across Windows, Linux, browser WebAssembly, Android, iOS, and macOS. No external cloud integrations, ERP, payment, email, or remote REST services are implemented.

Monitoring & Logging: Logging uses Serilog logging framework and a custom thread-safe FileLogger for startup and error logging and exception stack traces. Logs are written to platform-specific local directories on Windows, macOS, and Linux, while also providing console logging output for development. The file logger includes log retention cleanup support. No centralized logging platform, APM monitoring solution, health-check endpoints, or remote monitoring services were identified.

fied.

Testing: No dedicated unit test projects, integration test suite, functional test automation, or end-to-end testing projects were found in the solution. Avalonia Headless testing and Headless VNC packages are referenced, providing a UI testing foundation, but an automated test suite was not identified.

Deployment & DevOps: The solution is built with .NET 8 SDK projects targeting .NET 8. It includes cross-platform host projects for desktop, browser WebAssembly, Android APK, iOS, and macOS, along with a Visual Studio installer project for Windows. The macOS project supports self-contained application deployment, application code signing, entitlements, and installer package generation with disk image creation. The browser host deploys its WebAssembly AppBundle using the runtime. No CI/CD pipeline, Docker containerization, cloud infrastructure deployment, or environment-based deployment pipeline was found.

portfolio item photo

Create new label

portfolio item photo

Saved label

portfolio item photo

Pipe marking

client

Lablesuite

category

Web Development

contact us

get in touch with us

-->