How pawankus6261/tracker works
This is a live location-tracking product: a session owner creates a shareable link, a device explicitly grants GPS access and sends fixes, and an owner dashboard receives telemetry and displays the accepted route. The backend validates and processes fixes, classifies quality and outliers, persists session history, and broadcasts updates. The README documents map, stale-fix, accuracy, and sharing capabilities; sampled excerpts confirm the core backend processing and WebSocket dispatch. Frontend wiring beyond the supplied excerpts is represented only where supported by the README or file structure.
Main entry points: Dashboard.jsx Owner dashboard · sessions.py Session and socket routes · CreateSession.jsx Create and share · TrackingSession.jsx Device tracking
Components 28
Tracking interface
- Route selection
frontend/src/App.jsx - Create and share
frontend/src/pages/CreateSession.jsx - Owner dashboard
frontend/src/pages/Dashboard.jsx - Public tracking page
frontend/src/pages/PublicTracking.jsx - Device tracking
frontend/src/pages/TrackingSession.jsx - Location permission
frontend/src/components/LocationPermission.jsx - Live map and trail
frontend/src/components/MapView.jsx - Status and accuracy
frontend/src/components/TrackingStatus.jsx - Tracking controls
frontend/src/components/TrackingControls.jsx - Share link modal
frontend/src/components/ShareLinkModal.jsx - Browser geolocation
frontend/src/services/geolocation.js - WebSocket client
frontend/src/services/websocket.js
Session API
- HTTP API client
frontend/src/services/api.js - FastAPI application
backend/app/main.py - Session and socket routes
backend/app/routes/sessions.py - Request and response schemas
backend/app/schemas/session.py
Telemetry processing
- Fix processing
backend/app/services/tracking_service.py - Quality and location services
backend/app/services/location_service.py - Connection manager
backend/app/websocket/manager.py
Tracking state
- Database access
backend/app/database.py - Tracking sessions
backend/app/models/tracking_session.py - Location history
backend/app/models/location_point.py
External services
- MapTiler tiles and geocoding
- Geocoding and elevation providers
- QR code service
Other components
- Session owner
- Tracking device
- Device GPS
Connections 36
- Session owner → Route selection: opens app
- Route selection → Create and share: routes home
- Route selection → Owner dashboard: routes dashboard
- Route selection → Public tracking page: routes tracking link
- Session owner → Create and share: requests session
- Create and share → HTTP API client: creates session
- HTTP API client → FastAPI application: HTTP requests
- FastAPI application → Session and socket routes: mounts routes
- Session and socket routes → Request and response schemas: validates and shapes
- Session and socket routes → Database access: reads and writes
- Database access → Tracking sessions: persists
- Database access → Location history: persists
- Session owner → Owner dashboard: views session
- Owner dashboard → HTTP API client: loads session
- Owner dashboard → WebSocket client: subscribes telemetry
- Public tracking page → HTTP API client: validates link
- Public tracking page → Device tracking: opens device flow
- Tracking device → Device tracking: opens tracking link
- Device tracking → Location permission: requests consent
- Location permission → Browser geolocation: starts location
- Browser geolocation → Device GPS: requests GPS fixes
- Device tracking → WebSocket client: sends fixes
- WebSocket client → Session and socket routes: device WebSocket
- Session and socket routes → Fix processing: processes fix
- Fix processing → Quality and location services: classifies and enriches
- Fix processing → Database access: stores fix and state
- Session and socket routes → Connection manager: dispatches telemetry
- Connection manager → WebSocket client: broadcasts updates
- WebSocket client → Owner dashboard: delivers telemetry
- Owner dashboard → Live map and trail: renders positions
- Owner dashboard → Status and accuracy: shows telemetry status
- Device tracking → Tracking controls: provides tracking controls
- Create and share → Share link modal: offers sharing
- Live map and trail → MapTiler tiles and geocoding: loads map tiles
- Create and share → QR code service: requests QR image
- Quality and location services → Geocoding and elevation providers: resolves address and elevation