Skip to content
Some development slots are still available. Get in touch →

Inventory Manager technical notes

Inventory Manager is in development and coming soon. These notes describe the stack and architecture of the current development build.

Desktop interface

The app is written in C# on .NET 10. It uses Avalonia and XAML for a shared desktop interface across Windows, macOS and Linux. CommunityToolkit.Mvvm supplies the commands and observable state that connect the views to their view models.

Local data and inventory rules

Entity Framework Core maps inventory data to local SQLite files and manages schema migrations. Each database holds its own inventory tree, configurable types, fields and attachments. The core project defines rules for items and containers independently of the interface and database, so both the desktop app and the optional local server use the same inventory services.

Data transfer and reporting

JSON Lines exports store one record per line. The app validates an import before merging it into the target database, and creates a backup before writing.

The desktop app queries SQLite for three read-only reports. Items by container produces a stock list with quantities and full storage paths. Upcoming maintenance and Upcoming expiry include items with the relevant date and put overdue or expired entries first. Each report can cover a container and its descendants or the whole inventory. SkiaSharp generates an A4 PDF in the order shown in the report table.

Local automation

A separate Model Context Protocol (MCP) server lets compatible clients query or update the same local inventory through standard input and output. It can open the database in read-only mode and runs without a network listener.