Repository navigation
The first release of the IndTrace community edition: industrial manufacturing traceability for PLC-connected production lines, licensed under the GNU AGPL v3.0 or later.
IndTrace tracks; it does not control. The machine, PLC and operator decide what happens to a part. IndTrace records what was done and checks whether it was legal, for example whether a part arrived at a station its route allows.
What's included
- Domain and application core: parts, barcodes, cycles, routing, recipes and shifts, with CQRS handlers that return
Result<T>instead of throwing. - Persistence: EF Core on SQL Server. A new database is created by migrating, from one baseline migration that matches the model.
- Gateway and hub: the gateway host that receives PLC events, and a SignalR hub that pushes them to the UI.
- Monitor: a Blazor UI for products and their routes, machines, a live station dashboard, barcode lookup, shifts and reports.
- Device contracts:
IndTrace.Devicesdefines vendor-neutral PLC and barcode-reader interfaces. This edition ships an in-memory simulated PLC controller; hardware drivers plug in through these interfaces and are not included. - Demo data:
IndTrace.DemoSeedcreates a demo database with fictitious customers, products, routes and label rules.
Try it
Requires the .NET 10 SDK and a SQL Server instance.
dotnet build Src/IndTrace.sln
export ConnectionStrings__IndTraceDbContext="<data database connection string>"
export ConnectionStrings__IndTraceDbIdentity="<sign-in database connection string>"
export DEMO_PASSWORD="<password for the demo user>"
dotnet run --project Src/Code/Infrastructure/IndTrace.DemoSeed -- --reset--reset recreates both databases, so point it only at databases you can lose.
Then run the gateway with GatewaySimulationOptions__EnableSimulation=true, the hub and the Monitor, as described in the README.
For a step-by-step path, Getting started goes from an empty SQL Server to a signed-in Monitor, and Simulate a part through the line runs a good part, a skipped station and a reworked part. Walkthrough videos are on the project site.
On Linux, add -r linux-x64 to dotnet run; projects set the win-x64 runtime identifier.
Known limitations
- No barcode-reader driver, so the final-report page works only with manual entry.
- The dashboard shows fewer station cards once live events arrive.
Contributing
Contributions are welcome under the same license, with a DCO Signed-off-by: line on each commit; no CLA. See CONTRIBUTING.md. Report security issues as described in SECURITY.md.