Platform Overview & Architecture
Comprehensive architecture, services, roles, modules, and technology stack of the OpenVTS platform.
Last updated April 17, 2026
Platform Overview
OpenVTS is a self-hosted, multi-tenant GPS fleet management platform designed for enterprise-grade vehicle tracking, real-time monitoring, and fleet operations. It supports white-label deployments with custom domains, full localization, and a credit-based licensing model.
Technology Stack
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | Next.js (React) | Server-side rendered UI with App Router, Tailwind CSS, and Shadcn/UI components |
| Backend | NestJS (Node.js) | RESTful API server with TypeORM, Zod validation, and modular architecture |
| Database | PostgreSQL | Primary relational data store for all platform data |
| Cache / Queue | Redis | Session caching, real-time pub/sub, and background job queues |
| Real-time | Socket.IO | WebSocket transport at /socket.io for live vehicle position updates |
| Push Notifications | Firebase FCM | Mobile and web push notifications via fs:fcm-foreground-message event |
| Validation | Zod | Schema-based request/response validation across all API endpoints |
| Reverse Proxy | Nginx | TLS termination, static asset serving, and upstream load balancing |
Service Architecture
The platform runs six core services, each managed by the FT-Service-Manager agent which provides process lifecycle control, health monitoring, and log aggregation.
| Service | Technology | Description | Default Port |
|---|---|---|---|
| Frontend | Next.js | Server-rendered UI application serving the admin panel, user portal, and public pages | 3000 |
| Backend | NestJS | API server handling authentication, business logic, CRUD, and webhook integrations | 4000 |
| Listener | Node.js | Device protocol parser that receives raw GPS data over TCP/UDP and normalizes it into platform format | 5001-5100 |
| Nginx | Nginx | Reverse proxy handling TLS/SSL termination, static files, and routing to upstream services | 80/443 |
| PostgreSQL | PostgreSQL | Primary relational database storing all persistent platform data including users, vehicles, telemetry, and configurations | 5432 |
| Redis | Redis | In-memory data store used for session management, caching, pub/sub messaging, and background job queues | 6379 |
User Roles
| Role | Scope | Description |
|---|---|---|
| Superadmin | Platform-wide | Full access to all organizations, server management, SSL, master data, licensing, and administrator CRUD |
| Admin | Organization | Manages their own organization's vehicles, users, drivers, plans, payments, settings, and white-label configuration |
| User | End-user | Views assigned vehicles, receives alerts, accesses reports, manages sub-users, and views trip history |
| Team Member | Scoped view | Limited access based on team assignment; can view shared vehicles and dashboards within the team scope |
| Sub User | Vehicle-scoped | Created by a parent User under Accounts > Sub Users; access restricted to specifically assigned vehicles only |
| Driver | Mobile app | Minimal role for mobile app access; can view own assigned vehicle, receive notifications, and update status |
Platform Modules
OpenVTS comprises 33 modules spanning fleet operations, administration, communication, analytics, and system configuration.
| # | Module | Category | Description |
|---|---|---|---|
| 1 | Dashboard | Operations | KPI cards, fleet status, revenue forecast, growth charts, and customizable widget dashboards |
| 2 | Maps | Operations | Live vehicle tracking with layers, clustering, geofence overlays, POI markers, and route display |
| 3 | Vehicles | Fleet | Vehicle CRUD, bulk upload, device linking, plan assignment, status management, and document storage |
| 4 | Drivers | Fleet | Driver profiles, assignment to vehicles, custom attributes, bulk upload, and assignment history |
| 5 | Users | Administration | User lifecycle management, role assignment, company profiles, documents, and payment history |
| 6 | Team | Administration | Team creation and member management for scoped data access |
| 7 | Inventory | Fleet | Device and SIM card inventory with stock tracking, linking, and bulk operations |
| 8 | Plans | Billing | Subscription plan CRUD with name, duration, price, and currency configuration |
| 9 | Payments | Billing | Payment recording, renewal processing, revenue analytics, and gateway integration |
| 10 | Transactions | Billing | Transaction ledger with detailed drawer view, provider references, and party information |
| 11 | Landmarks Studio | Geospatial | Geofence, POI, and route management with drawing tools, import/export, and bulk CSV operations |
| 12 | Reports | Analytics | Pre-built fleet reports including trip, stop, idle, speed, and distance summaries |
| 13 | Custom Reports | Analytics | User-defined report templates with custom filters, columns, and scheduling |
| 14 | Notifications | Communication | Alert configuration across Web Push, Mobile Push, WhatsApp, and Email channels |
| 15 | Logs | Analytics | Activity audit trail, vehicle event logs, and raw telemetry data explorer |
| 16 | Calendar | Operations | Monthly calendar view showing user creation, vehicle creation, and vehicle expiry events |
| 17 | Support | Communication | Ticketing system with file attachments, threaded replies, and admin/superadmin escalation |
| 18 | Route Optimization | Operations | Multi-stop route optimization with OSRM engine, multiple point sources, and Google Maps integration |
| 19 | Share Track Link | Operations | Public shareable tracking links with QR codes, expiry, and optional geofence/history visibility |
| 20 | AI Agent | Intelligence | OpenRouter-powered AI assistant for natural language fleet queries and command execution |
| 21 | Settings | Configuration | White-label, SMTP, localization, API keys, payment gateway, and user policy configuration |
| 22 | Accounts (Sub Users) | Administration | Sub-user creation and vehicle assignment under a parent user account |
| 23 | Workflow | Automation | Workflow engine for automated actions based on fleet events and triggers |
| 24 | Administrators | Superadmin | Admin organization CRUD, credit management, activity monitoring, and login-as functionality |
| 25 | Server | Superadmin | Server health metrics, service management, and database cleanup operations |
| 26 | SSL | Superadmin | SSL certificate installation, renewal, and status monitoring with Let's Encrypt integration |
| 27 | Master Data | Superadmin | Static reference data management for device types, vehicle types, SIM providers, and templates |
| 28 | Roles | Superadmin | Role definitions and permission matrix configuration |
| 29 | WhatsApp Templates | Communication | WhatsApp Business message template management with Meta sync and variable preview |
| 30 | User Policy | Configuration | Privacy Policy, Terms of Service, Cookies Policy, and Refund Policy editors |
| 31 | Resources | Content | Documentation and resource management for end-user help content |
| 32 | Finance | Billing | Financial overview and reconciliation across all admin organizations |
| 33 | Roles | Administration | Role-based access control matrix across all modules and user types |
Internationalization & Localization
| Language | Code | Direction |
|---|---|---|
| English | en | LTR |
| Chinese (Simplified) | zh-Hans | LTR |
| Hindi | hi | LTR |
| Spanish | es | LTR |
| Arabic | ar | RTL |
| French | fr | LTR |
| German | de | LTR |
| Japanese | ja | LTR |
Licensing Model
OpenVTS uses a credit-based licensing system. Each admin organization receives credits that are consumed when vehicles are activated. The first 50 vehicles are free; beyond that, a valid license (credit balance) is required. Vehicles without sufficient credits show a 'License Required' status and are blocked from live tracking.
Export & Units
| Feature | Options |
|---|---|
| Export Formats | CSV, XLSX, JSON, PDF, HTML, KML |
| Distance Units | Kilometers (KM), Miles |
| Time Formats | 12-Hour, 24-Hour |
| Text Direction | LTR (Left-to-Right), RTL (Right-to-Left) |
| Theme | Light, Dark, System (auto-detect) |
Real-time Communication
Live vehicle positions are pushed via Socket.IO at the /socket.io endpoint. Firebase Cloud Messaging (FCM) handles push notifications for both web and mobile clients. The foreground message event is named fs:fcm-foreground-message. Clients subscribe to vehicle channels and receive position updates, alert events, and status changes in real time.