StaffTracker · FRX-PDKS
Staff clock-in, location and shift tracking: API, admin panel, iOS and Android
A time and attendance system that manages staff clock-ins, work sessions, location and geofence boundaries, shifts and leaves. Native iOS (SwiftUI) and Android (Jetpack Compose) apps share one .NET API, alongside an MVC admin panel.
- Period
- Apr 2026 – Present
- Role
- Sole developer
- Status
- On the App Store (unlisted distribution)
- Platforms
- iOS · Android · Web
Overview
StaffTracker manages the working hours of field and branch staff end to end. Staff clock in and out from the mobile app with a QR code, their location is checked against geofence boundaries, and managers see who is where on a live map over SignalR.
The admin panel manages shift schedules, leaves and holidays, monthly timesheets, audit logs, branch revenue and sales analysis, quick order approval, Migros sales import and production modules.
Highlights
- QR-based clock-in/out and work sessions
- Location and geofence tracking with a live presence map over SignalR
- Shifts and shift schedules, leave balances, public holidays
- Monthly timesheets with Excel (ClosedXML) and PDF (QuestPDF) export
- Custom HMAC-signed bearer tokens with role and permission-key authorization
- Quick orders and order approval, branch revenue and sales analysis
- Background location tracking with an offline location queue on iOS; a foreground location service that survives reboots on Android
Architecture
The mobile API and the MVC admin panel share the same Core and Infrastructure layers. When an API contract or error code changes, the iOS and Android updates ship in the same piece of work; clients rely on stable error codes.
- ClientsiOS · SwiftUIAndroid · ComposeAdmin panel · MVC
- APIREST + SwaggerStaffPresenceHub (SignalR)Rate-limited auth
- ApplicationMediatR handlersStable error codesPermission keys
- PersistenceEF Core · SQL Server3 DbContextsDocker Compose
Engineering notes
- Released on the App Store through Apple's Unlisted App Distribution for a controlled rollout to client companies.
- Architecture tests fail the build when an admin endpoint is missing its permission attribute.
- CI builds and tests on every push; the production stack runs with Docker Compose on AWS EC2.
- The iOS app is the reference for mobile behavior; Android follows the same screen set and contract.
Screens
Screenshots coming soon