- 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>
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>
- 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>
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>
- 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>
- 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>
- 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>
- 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>
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>
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>
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>