No description
  • Java 72.3%
  • TypeScript 16.3%
  • Go 7.5%
  • Python 1.9%
  • Rust 0.5%
  • Other 1.4%
Find a file
2026-07-17 17:37:08 +00:00
.github P1-T01: Fork Traccar, replace H2 with PostgreSQL+TimescaleDB, set up Docker Compose 2026-06-25 17:00:41 +00:00
airgap feat: complete Phase 3, 4, 5 implementation 2026-07-06 14:56:40 +00:00
devops Feat: P2-T19 Micro-segmentation network policies skill 2026-07-01 20:35:32 +00:00
docker fix: configure Keycloak for reverse proxy — HTTPS domain, proxy forwarding, redirect URIs 2026-07-16 20:26:43 +00:00
docs refactor: port Traccar reports to Go and delete ported Java files 2026-07-15 00:47:52 +00:00
frontend fix: use unfiltered Traccar device list for map position lookup 2026-07-17 17:37:08 +00:00
go-services fix: reports under a project now show data correctly 2026-07-15 20:01:23 +00:00
gradle P1-T01: Fork Traccar, replace H2 with PostgreSQL+TimescaleDB, set up Docker Compose 2026-06-25 17:00:41 +00:00
graphify-out fix: use unfiltered Traccar device list for map position lookup 2026-07-17 17:37:08 +00:00
rust-services FIX: Add POST /api/audit route to audit service (geofence compatibility) 2026-07-02 15:56:25 +00:00
schema P1-T01: Fork Traccar, replace H2 with PostgreSQL+TimescaleDB, set up Docker Compose 2026-06-25 17:00:41 +00:00
scripts feat: Phase 6 cleanup - remove broken subagent files, add documentation tasks 2026-07-06 15:21:42 +00:00
security/waf-ids-ips Feat: P2-T19 Micro-segmentation network policies skill 2026-07-01 20:35:32 +00:00
setup P2-T08: Geofence breach alerting service with PostGIS polygons 2026-06-27 23:20:20 +00:00
skills fix: clean up broken subagent output 2026-07-06 15:21:22 +00:00
src style: strip Apache license headers from Java report files 2026-07-15 01:01:50 +00:00
templates P1-T01: Fork Traccar, replace H2 with PostgreSQL+TimescaleDB, set up Docker Compose 2026-06-25 17:00:41 +00:00
terraform/thinkon feat: complete Phase 3, 4, 5 implementation 2026-07-06 14:56:40 +00:00
test/gps-injection GPS injection now uses real HA coordinates instead of mock data 2026-06-26 21:14:25 +00:00
tools P1-T01: Fork Traccar, replace H2 with PostgreSQL+TimescaleDB, set up Docker Compose 2026-06-25 17:00:41 +00:00
.dockerignore P1-T01: Fix Dockerfile (java path, traccar-web, logs dir), fix Kafka KRaft config, fix .dockerignore 2026-06-25 18:23:53 +00:00
.editorconfig P1-T01: Fork Traccar, replace H2 with PostgreSQL+TimescaleDB, set up Docker Compose 2026-06-25 17:00:41 +00:00
.gitignore feat(security): JWT middleware, audit logging, least-privilege DB users, nginx hardening 2026-07-06 14:35:43 +00:00
.gitmodules feat: add Traccar web UI files (extracted from official Docker image) 2026-06-25 21:05:50 +00:00
AGENTS.md Add AGENTS.md + update PROJECT_MASTER.md 2026-06-26 20:41:58 +00:00
airgap-integration-tests.md fix: clean up broken subagent output 2026-07-06 15:21:22 +00:00
build.gradle P1-T01: Fork Traccar, replace H2 with PostgreSQL+TimescaleDB, set up Docker Compose 2026-06-25 17:00:41 +00:00
debug.xml P1-T01: Fork Traccar, replace H2 with PostgreSQL+TimescaleDB, set up Docker Compose 2026-06-25 17:00:41 +00:00
docker-compose.yml fix: include /auth path in Keycloak --hostname URL 2026-07-16 21:18:48 +00:00
gradlew P1-T01: Fork Traccar, replace H2 with PostgreSQL+TimescaleDB, set up Docker Compose 2026-06-25 17:00:41 +00:00
gradlew.bat P1-T01: Fork Traccar, replace H2 with PostgreSQL+TimescaleDB, set up Docker Compose 2026-06-25 17:00:41 +00:00
LICENSE.txt P1-T01: Fork Traccar, replace H2 with PostgreSQL+TimescaleDB, set up Docker Compose 2026-06-25 17:00:41 +00:00
monitoring-stack.yml fix: clean up broken subagent output 2026-07-06 15:21:22 +00:00
openapi.yaml P1-T01: Fork Traccar, replace H2 with PostgreSQL+TimescaleDB, set up Docker Compose 2026-06-25 17:00:41 +00:00
penetration-test-template.md fix: clean up broken subagent output 2026-07-06 15:21:22 +00:00
pilot-program.md fix: clean up broken subagent output 2026-07-06 15:21:22 +00:00
pilot-retrospective.md fix: clean up broken subagent output 2026-07-06 15:21:22 +00:00
procurement-package.md fix: clean up broken subagent output 2026-07-06 15:21:22 +00:00
PROJECT_MASTER.md docs: update progress in PROJECT_MASTER.md and customer-workflow-agentic-development-plan.md 2026-07-14 02:59:04 +00:00
prometheus_rules.yml fix: clean up broken subagent output 2026-07-06 15:21:22 +00:00
README.md P1-T01: Fork Traccar, replace H2 with PostgreSQL+TimescaleDB, set up Docker Compose 2026-06-25 17:00:41 +00:00
settings.gradle P1-T01: Fork Traccar, replace H2 with PostgreSQL+TimescaleDB, set up Docker Compose 2026-06-25 17:00:41 +00:00

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

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_positions partitioned by event_time
  • Continuous aggregate tc_positions_5min for 5-minute position buckets
  • PostGIS geometry columns on tc_geofences for 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