Skip to main content

Tracker GraphQL Documentation

Welcome to the documentation for the Tracker GraphQL API. This documentation covers everything you need to know about integrating with and using our tracking system.

Overview

The Tracker GraphQL API provides a flexible and powerful interface for:

  • Managing tracking devices
  • Monitoring location history
  • Handling real-time updates
  • Managing production runs and associations

Key Features

🔒 Secure Authentication

  • JWT-based authentication
  • Client-specific data filtering
  • Role-based access control

📍 Location Tracking

  • Real-time location updates
  • Geocoding with city information
  • Historical location data
  • Efficient caching system

🔄 Real-time Updates

  • Socket.IO integration
  • Live status updates
  • Automatic cache invalidation
  • Queue-based geocoding

📊 Performance Monitoring

  • Resolver execution timing
  • Database query performance tracking
  • Cache hit/miss metrics
  • Configurable thresholds and logging

🏭 Production Integration

  • Production run tracking
  • Brand and client management
  • Storage location tracking
  • Delivery management

Getting Started

  1. Check out the Installation guide to set up your environment
  2. Learn about Authentication to secure your requests
  3. Explore the API Reference to understand available operations
  4. Read our Guides for detailed implementation examples

GraphQL Schema

Our API is built using GraphQL, providing a flexible and efficient way to request exactly the data you need. The schema is organized into several key areas:

  • Queries: Retrieve data about trackers, locations, and production runs
  • Mutations: Create, update, and manage tracking devices and associated data
  • Subscriptions: Real-time updates via Socket.IO
  • Types: Core data structures and relationships

Architecture

The system is built with:

  • Python and Uvicorn for the backend server
  • Ariadne for GraphQL implementation
  • SQLAlchemy and GeoAlchemy2 for database operations
  • Redis for caching and queue management
  • Socket.IO for real-time communications

Learn more about the system architecture in the Architecture Overview section.