No description
- Java 72.3%
- TypeScript 16.3%
- Go 7.5%
- Python 1.9%
- Rust 0.5%
- Other 1.4%
| .github | ||
| airgap | ||
| devops | ||
| docker | ||
| docs | ||
| frontend | ||
| go-services | ||
| gradle | ||
| graphify-out | ||
| rust-services | ||
| schema | ||
| scripts | ||
| security/waf-ids-ips | ||
| setup | ||
| skills | ||
| src | ||
| templates | ||
| terraform/thinkon | ||
| test/gps-injection | ||
| tools | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitignore | ||
| .gitmodules | ||
| AGENTS.md | ||
| airgap-integration-tests.md | ||
| build.gradle | ||
| debug.xml | ||
| docker-compose.yml | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE.txt | ||
| monitoring-stack.yml | ||
| openapi.yaml | ||
| penetration-test-template.md | ||
| pilot-program.md | ||
| pilot-retrospective.md | ||
| procurement-package.md | ||
| PROJECT_MASTER.md | ||
| prometheus_rules.yml | ||
| README.md | ||
| settings.gradle | ||
VeritiStrax
Sovereign LEA Tracking Platform — A Canadian-sovereign GPS tracking and evidence platform for Law Enforcement Agencies, built on a fork of Traccar with PostgreSQL + TimescaleDB + PostGIS.
Architecture
graph TB
subgraph "External Devices"
D1[GPS Tracker 1]
D2[GPS Tracker 2]
Dn[GPS Tracker N]
end
subgraph "VeritiStrax Platform"
subgraph "Ingestion Layer"
ING[VeritiStrax Ingestion Service<br/>Port 5055 / 8082]
end
subgraph "Data Layer"
DB[(PostgreSQL 16 + TimescaleDB<br/>+ PostGIS)]
end
subgraph "Messaging"
K[Kafka KRaft<br/>Port 9092]
end
end
D1 -->|TCP/UDP| ING
D2 -->|TCP/UDP| ING
Dn -->|TCP/UDP| ING
ING -->|JDBC| DB
ING -->|Producer| K
K -->|Topics| K
K -->|telemetry.raw| T[External Consumers]
K -->|events| E[Event Processing]
K -->|audit.log| A[Audit Systems]
Quick Start
Prerequisites
- Docker & Docker Compose
- Java 21 (for local builds)
- Gradle 8.x (for local builds)
Deploy
cd ~/coding_agent_repos/veritistrax
docker compose up -d --build
Verify
./scripts/verify-stack.sh
Service Endpoints
| Service | Port | Protocol | Purpose |
|---|---|---|---|
| VeritiStrax Ingestion | 5055 | TCP/UDP | Device communication (Traccar protocol) |
| VeritiStrax REST API | 8082 | HTTP | REST API (devices, positions, users) |
| PostgreSQL + TimescaleDB | 5432 | TCP | Primary database with timeseries optimization |
| Kafka | 9092 | TCP | Event streaming (telemetry.raw, events, audit.log) |
Kafka Topics
| Topic | Purpose |
|---|---|
telemetry.raw |
Raw device position telemetry |
telemetry.processed |
Processed/enriched position data |
tower_dumps |
Cell tower dump data |
events |
Platform events (geofence breaches, etc.) |
audit.log |
Immutable audit trail |
Database Schema
The schema is based on the Traccar database model with these VeritiStrax-specific enhancements:
- TimescaleDB hypertable on
tc_positionspartitioned byevent_time - Continuous aggregate
tc_positions_5minfor 5-minute position buckets - PostGIS geometry columns on
tc_geofencesfor spatial queries - All tables use PostgreSQL-native types (no H2/MySQL-specific types)
Development
Local Build
./gradlew assemble copyDependencies
Database Migration
Liquibase handles schema migrations via the schema/changelog-master.xml file. Initial schema is also available in docker/init-db/init-02-schema.sql.
Project Structure
veritistrax/
├── build.gradle # Gradle build config (PostgreSQL only)
├── docker-compose.yml # Production-grade compose stack
├── docker/
│ ├── Dockerfile # Multi-stage build for ingestion service
│ ├── init-db/ # Database initialization scripts
│ │ ├── init-01-timescale.sql
│ │ └── init-02-schema.sql
│ └── init-kafka.sh # Kafka topic creation
├── schema/ # Liquibase changelogs
├── setup/
│ └── traccar.xml # Runtime configuration (PostgreSQL + Kafka)
├── scripts/
│ └── verify-stack.sh # Stack verification script
├── src/ # Java source (forked from Traccar)
└── traccar-web/ # Web UI frontend
Next Steps
See Agentic Development Plan for:
- Phase 1 Tasks (P1-T02 through P1-T22)
- TimescaleDB hypertable optimizations
- Continuous aggregates and compression policies
- Warrant-aware Row-Level Security
- SHA-256 hash chain audit ledger
- PostGIS spatial analytics
License
Original Traccar code: Apache License 2.0
VeritiStrax modifications: Internal — Protected B