LoanerLaserApp

horaciovaldes.com

LoanerLaserApp Portfolio Overview

What This Project Is

LoanerLaserApp is a cross-platform desktop licensing client built with C#, .NET 8, and Avalonia UI using an MVVM architecture. It simulates the device-side workflow for pairing a licensed unit and applying payment authorization codes in an offline-first environment.

This project is designed as a realistic harness for a larger production ecosystem, where a controller system generates pairing data and payment codes, while the desktop app enforces local licensing state and validation rules.

Core Product Goal

The app demonstrates a complete offline licensing lifecycle:

  1. Pair a device once using a compact phrase.
  2. Persist local licensing state securely.
  3. Validate one-time payment codes using HOTP counters.
  4. Surface status, paid-through dates, and audit history in a clear operator UI.

The design emphasizes deterministic behavior, traceability, and clean platform abstraction.

Tech Stack

High-Level Architecture

The codebase is separated into focused layers:

Functional Workflow

1) Pairing

The app accepts a compact controller-issued pairing phrase (LNR2-...) and validates structure + integrity.

On success, the app stores:

A pairing event is written to the audit trail.

Compatibility note:

2) Payment Code Validation

For each code submission, the app computes the expected HOTP counter based on local paid state and validates the entered code against the expected value.

Successful validation:

Failed validation:

3) Status Computation

Status is derived from locally persisted values (no network dependency):

4) Unpair / Reset

The app supports a controlled reset flow:

Security + Privacy Posture

This project intentionally avoids exposing operational secrets and sensitive identifiers.

Security-relevant behaviors included:

No sensitive production values are documented here.

Reliability and Engineering Practices

Testing Notes

Decoder-focused tests live in LoanerLaserApp.Tests/Program.cs and include:

Run locally:

dotnet run --project LoanerLaserApp.Tests/LoanerLaserApp.Tests.csproj

Why This Is Portfolio-Relevant

This project demonstrates practical desktop engineering skills across:

It represents the kind of system integration work required when desktop clients participate in a broader licensing and entitlement platform.

Releases

Operations Notes