Add backend and client self-contained publish scripts that clean the public output folders and publish Release win-x64 builds with the .NET runtime included for easier deployment.
Update backend and client publish scripts to produce win-x64 self-contained builds unless framework-dependent publishing is explicitly requested. Add runtime selection, clearer publish output, and deployment notes for target machines.
Resolves backend SQLite/config storage from the logged-on Windows user instead of LOCAL SYSTEM and migrates existing systemprofile backend files when needed.
Links logging/shared sync result files into the client and adds backend logging abstraction dependency.
Adds client-side logs for admin login success/failure and scan processing results.
Adds cache sync start, skip, success, and failure logs for employee RFID and meal/menu refreshes.
Logs full offline cache sync flow and meal schedule screen navigation.
Changes order sync to return pending, posted, duplicate, failed, and skipped counts.
Updates the sync interface for result reporting and logs client API health, scan, and manual sync calls.
Logs backend API activity while masking card IDs and connection-style sensitive values.
Configures backend file logging and records startup, timer, cache sync, order sync, and shutdown events.
Adds the multi-project solution structure, updates the main project wiring, and includes publish/install scripts plus deployment documentation for backend and client rollout.
Updates settings to work through the backend API for cache sync, order posting, backend health checks, backend URL display, and server/client mode configuration.
Updates application startup to compose server-mode backend services or client-mode API services, and adds empty/no-op services for frontend-only client behavior.
Replaces the RFID-only local API host with a broader canteen backend host and adds DTO mapping for scan, stats, cache, sync, employee, and schedule API responses.
Adds Server and Client application modes, central server URL settings, and local API listen URL settings.
Wires startup so server mode hosts the RFID API and cache sync timers, while client mode sends scans to the central server. Updates settings UI to save mode and manually sync cache data.
Adds a local HTTP API for the central canteen server to accept RFID scans and expose scan dashboard data.
Adds a client RFID service so scanner PCs can forward scans to the central server with device, site, and IP context.
Switches RFID employee lookup, meal session resolution, and menu lookup from live HRMS queries to the local SQLite cache.
Adds cache availability checks and shared site ID normalization for scan validation.
Adds local SQLite cache tables for employee RFID tags, meal schedules, lunch menu weeks, lunch menu items, and menu items.
Adds sync services that pull HRMS RFID/menu data into the local cache and track the last cache sync time.
Added a configurable SyncServiceEnabled flag in app config and wired startup to run the background sync timer only when enabled. Updated scan processing to enforce production duplicate checks by employee_serial_number + order_date + meal_name + location_site_id, blocking same-session repeat scans with “Meal already taken” while still allowing different meals on the same day. Improved offline/online behavior by saving locally first and attempting immediate sync when production is reachable, and enhanced manual sync to treat production duplicates as success by marking local IsSynced=1 instead of retrying forever.