Architecture Overview
System design and data flow for the Real-Time Tracking service. Understand how data moves from mobile apps through the platform to your backend, dashboards, and customers.
Architecture Overview
System Architecture
The platform acts as a comprehensive telematics data broker, receiving data from mobile applications with the Damoov SDK, then providing multiple consumption methods for clients:
┌──────────────────┐
│ Mobile Apps │
│ (iOS/Android) │
│ with Damoov SDK │
└────────┬─────────┘
│
▼
┌──────────────────────────────────────────────────────┐
│ Real-Time Tracking Service │
│ │
│ ┌─────────┐ ┌───────────┐ ┌────────────────────┐ │
│ │ REST API│ │ WebSocket │ │ Location Sharing │ │
│ │ │ │ Streaming │ │ (Public Pages) │ │
│ └────┬────┘ └─────┬─────┘ └─────────┬──────────┘ │
└───────┼─────────────┼───────────────────┼────────────┘
│ │ │
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────────┐
│ Client │ │ Live │ │ Share Link │
│ Backend │ │ Dashboards │ │ Recipients │
│ Systems │ │ & Portals │ │ (No login) │
└──────────────┘ └──────────────┘ └──────────────────┘
Data Flow
1. Data Ingestion
- Mobile apps with the Damoov SDK send GPS/telematics data to the platform
- The SDK handles trip detection, data collection, and secure transmission
- Real-time processing and validation of incoming telemetry data
2. API and Streaming Layer
- REST API — HTTP endpoints for device positions, trip data, and device metadata
- WebSocket — Real-time streaming with JWT authentication and sub-second latency
- Location Sharing — Public endpoints for share pages with no viewer authentication required
- Embedded SPA — Complete tracking interface served as a single-page application
3. Client Integration
- JWT-based authentication with instance-level tenant isolation
- Rate limiting and connection management
- Raw sensor data with client-side unit conversion
- Multiple consumption methods for various integration patterns
Data Types
| Category | Fields |
|---|---|
| Location | GPS coordinates, speed (m/s), heading (degrees), accuracy |
| Device | Device token, track token, instance identifier, device state |
| Metadata | Display name, user profile fields, display field preference |
| Sharing | Share token, session status, recipient info, destination, ETA |
Integration Patterns
Mobile App → Platform → Your Backend
Mobile apps with the Damoov SDK send trip data to the platform. Your backend consumes processed data via REST API or WebSocket. Use for fleet management, logistics, or tracking applications.
Mobile App → Platform → Web Portal
Mobile apps send trip data to the platform. Web portals use the embedded SPA or WebSocket streaming for real-time dashboards and monitoring interfaces.
Mobile App → Platform → Customer
Mobile apps send trip data to the platform. You create a share session via the API, and the customer receives a live tracking link. Use for delivery tracking, service ETAs, and partner visibility.
Multi-App → Platform → Multiple Consumers
Multiple mobile apps send data to the platform. Multiple clients consume the same processed data stream. Use for multi-tenant applications or data distribution to various systems.
Best Practices
- Authentication — Use JWT tokens with appropriate instance-level permissions
- Data Format — All sensor data is delivered in SI units (m/s, meters). Use client-side conversion for display units.
- Error Handling — Implement retry logic with exponential backoff for transient failures
- Rate Limiting — Respect connection limits and implement backoff strategies
- Display Names — Refresh device metadata once on setup; names are resolved automatically on all surfaces
- Share Sessions — Set appropriate expiry times and use the session lifecycle (complete/cancel) for clean state management
Updated 9 days ago
