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>
This commit is contained in:
2026-02-03 18:13:17 +01:00
parent 3814d175ff
commit 5ded039793
91 changed files with 4403 additions and 68 deletions

26
deployment/traccar.xml Normal file
View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<!-- Database - H2 embedded database -->
<entry key="database.driver">org.h2.Driver</entry>
<entry key="database.url">jdbc:h2:./data/database</entry>
<entry key="database.user">sa</entry>
<entry key="database.password"></entry>
<!-- Auth0 OpenID Connect Authentication -->
<!-- These values should be set via environment variables or secrets in production -->
<entry key="openid.clientId">${TRACCAR_OPENID_CLIENT_ID}</entry>
<entry key="openid.clientSecret">${TRACCAR_OPENID_CLIENT_SECRET}</entry>
<entry key="openid.issuerUrl">${AUTH0_DOMAIN}</entry>
<entry key="openid.force">true</entry>
<entry key="web.url">${TRACCAR_PUBLIC_URL}</entry>
<!-- Auth0 Role-based Access Control -->
<!-- Namespace must match the Auth0 Action that adds groups to tokens -->
<entry key="openid.group">${TRACCAR_PUBLIC_URL}/groups</entry>
<entry key="openid.adminGroup">ADMINISTRATOR</entry>
<entry key="openid.allowGroup">ADMINISTRATOR,COORDINATOR</entry>
<!-- Logging - set to 'info' in production -->
<entry key="logger.level">info</entry>
</properties>