Commit Graph

11 Commits

Author SHA1 Message Date
b35c14fddc feat: add VIP roster tracking and accountability reports
- Add isRosterOnly flag for VIPs who attend but don't need transportation
- Add VIP contact fields (phone, email) and emergency contact info
- Create Reports page under Admin menu with Accountability Roster
- Report shows all VIPs (active + roster-only) with contact/emergency info
- Export to CSV functionality for emergency preparedness
- VIP list filters roster-only by default with toggle to show
- VIP form includes collapsible contact/emergency section
- Fix first-user race condition with Serializable transaction
- Remove Traccar hardcoded default credentials
- Add feature flags endpoint for optional services

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-07 09:16:32 +01:00
a0d0cbc8f6 feat: add QR code to enrollment screen for Traccar Client setup
Generate a QR code URL containing device ID, server URL, and update
interval that the Traccar Client app can scan to auto-configure.
The enrollment modal now shows the QR prominently with manual setup
collapsed as a fallback. Also pins Traccar to 6.11 and fixes Docker
health checks (IPv6/curl issues).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 20:54:59 +01:00
1e162b4f7c fix: sanitize device identifier and explicitly enable device
- Lowercase and strip non-alphanumeric chars from device ID
- Explicitly set disabled=false when creating device in Traccar
- Use the uniqueId returned by Traccar (ensures consistency)
- Add logging for debugging device creation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 20:13:30 +01:00
cbfb8c3f46 fix: restore token-based Traccar auto-login
Reverted Auth0-only approach since Traccar has openid.force=false
and the token-based login was working.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 19:48:31 +01:00
5a22a4dd46 fix: improve GPS enrollment and simplify Auth0 SSO
- Remove dashes from device identifiers for better compatibility
- Auto-enable consent on enrollment (HR handles consent at hiring)
- Remove consent checks from location queries and UI
- Simplify Traccar Admin to use Auth0 SSO directly
- Fix server URL to return base Traccar URL (app handles port)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 18:56:16 +01:00
5ded039793 feat: add GPS tracking with Traccar integration
- Add GPS module with Traccar client service for device management
- Add driver enrollment flow with QR code generation
- Add real-time location tracking on driver profiles
- Add GPS settings configuration in admin tools
- Add Auth0 OpenID Connect setup script for Traccar
- Add deployment configs for production server
- Update nginx configs for SSL on GPS port 5055
- Add timezone setting support
- Various UI improvements and bug fixes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 18:13:17 +01:00
3814d175ff feat: enable SSL on Traccar device port 5055
- nginx stream module now terminates SSL on port 5055
- Backend returns HTTPS URL for device server
- More secure GPS data transmission

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 23:27:35 +01:00
6a10785ec8 fix: correct Traccar Client setup instructions
- Remove unreliable QR code scanning, add direct app store links
- Fix server URL to use HTTP (not HTTPS) for port 5055
- OsmAnd protocol doesn't use SSL
- Emphasize that official Traccar Client app is required

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 23:23:00 +01:00
651f4d2aa8 fix: link new devices to all admin users in Traccar
When creating a device, automatically link it to all Traccar admin users
so they can see it regardless of which account created the device.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 22:59:13 +01:00
cbba5d40b8 fix: use traccar subdomain for device server URL
Device server URL now derives from TRACCAR_PUBLIC_URL, returning
traccar.vip.madeamess.online:5055 instead of vip.madeamess.online:5055

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 22:49:14 +01:00
8ff331f8fa fix: load Traccar credentials from database on startup
Previously TraccarClientService was trying to authenticate with default
credentials (admin/admin) before GpsService could load the actual
credentials from the database. This caused 401 errors on driver enrollment.

Now GpsService sets credentials on TraccarClientService during onModuleInit()
after loading them from the gps_settings table.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 22:44:13 +01:00