Architecture Overview

Architecture Overview

Our platform acts as a comprehensive telematics data broker, receiving data from mobile applications with Damoov SDK, then providing multiple consumption methods for clients:


┌──────────────────┐
│   Mobile Apps    │
│  (iOS/Android)   │
│  with Damoov SDK │
└──────────────────┘
         │
         ▼
┌──────────────────┐
│   HTTP Server    │
│  - REST API      │
│  - WebSocket     │
│  - Authentication│
└──────────────────┘
         │
         ▼
┌──────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│ REST API         │    │   WebSocket      │    │   Embedded      │
│ Integration      │    │   Real-time      │    │   SPA           │
│                  │    │   Streaming      │    │   (iFrame)      │
└──────────────────┘    └──────────────────┘    └─────────────────┘
         │                        │                           │
         ▼                        ▼                           ▼
┌──────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│ Client Backend   │    │ Client           │    │ Web Portals     │
│ Systems          │    │ Applications     │    │ & Dashboards    │
│                  │    │ & Services       │    │                 │
└──────────────────┘    └──────────────────┘    └─────────────────┘

Data Flow Architecture

1. Data Ingestion

  • Mobile apps with Damoov SDK send GPS/telematics data to our platform
  • SDK handles trip detection, data collection, and secure transmission
  • Real-time processing and validation of incoming telematics data

2. API & Streaming Layer

  • REST API: HTTP endpoints for device positions and trip data
  • WebSocket: Real-time streaming with JWT authentication
  • Embedded SPA: Complete tracking interface via iFrame

3. Client Integration

  • JWT-based authentication with instance-level isolation
  • Rate limiting and connection management
  • Raw sensor data with client-side unit conversion
  • Multiple consumption methods for various client types

Technical Architecture Details

HTTP Server

  • RESTful API endpoints with comprehensive data access
  • JWT authentication with instance-level isolation
  • WebSocket server for real-time data streaming
  • Automatic unit conversion and timezone handling
  • Intelligent data processing and validation
  • High-performance data storage and retrieval

Data Types Supported

  • Location Data: GPS coordinates, speed, heading, accuracy
  • Metadata: Device tokens, track tokens, instance identifiers

Platform as Data Broker

Core Value Proposition

  • Data Ingestion: Your mobile apps publish GPS/telematics data to our MQTT infrastructure
  • Data Processing: We handle validation, enrichment, and real-time processing
  • Data Distribution: Multiple consumption methods for your systems and clients
  • Scalability: Enterprise-grade infrastructure handling thousands of concurrent devices
  • Reliability: Automatic failover, connection recovery, and data persistence

Integration Patterns

  1. Mobile App (Damoov SDK) → Platform → Your Backend

    • Mobile apps with integrated Damoov SDK send trip data to our platform
    • Your backend consumes processed data via REST API or WebSocket
    • Use for fleet management, logistics, or tracking applications
  2. Mobile App (Damoov SDK) → Platform → Web Portal

    • Mobile apps send trip data to our platform
    • Web portals use our embedded SPA or WebSocket streaming
    • Use for real-time dashboards and monitoring interfaces
  3. Multi-App → Platform → Multiple Consumers

    • Multiple mobile apps send data to our 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: Send raw sensor data (m/s, meters) for consistency
  • Error Handling: Implement retry logic and connection recovery
  • Rate Limiting: Respect connection limits and implement backoff strategies
  • Monitoring: Implement connection monitoring and error handling