Fleet Manager application - Guidance for Connected Mobility on AWS

Fleet Manager application

The Fleet Manager application provides the web interface and backend APIs.

CloudFront distribution

Delivers the React application globally with low latency.

Configuration:

  • Origin: S3 bucket (UI assets)

  • Price class: Use all edge locations

  • TLS: Minimum TLS 1.2

  • Compression: Enabled (gzip, brotli)

  • Caching: Optimized for SPA

Cache behaviors:

  • /: Serve index.html (no cache)

  • /static/*: Cache for 1 year

  • /api/*: Forward to API Gateway (no cache)

API Gateway

RESTful APIs for fleet management operations.

Endpoints:

Method Path Description

GET

/vehicles

List all vehicles

GET

/vehicles/{vin}

Get vehicle details

PUT

/vehicles/{vin}

Update vehicle

GET

/vehicles/{vin}/trips

Get vehicle trips

GET

/vehicles/{vin}/alerts

Get vehicle alerts

POST

/alerts/{id}/acknowledge

Acknowledge alert

GET

/drivers

List all drivers

GET

/drivers/{id}

Get driver details

GET

/location/geocode

Geocode address

GET

/location/route

Calculate route

POST

/api/commands/{vehicleId}

Send remote command to vehicle

GET

/api/commands/{vehicleId}

Get command history for vehicle

GET

/api/commands/catalog

List available actuatable commands

POST

/api/geofences

Create a geofence

GET

/api/geofences/{vehicleId}

List geofences for vehicle

DELETE

/api/geofences/{geofenceId}

Deactivate a geofence

Authorization:

  • Cognito User Pool authorizer

  • JWT validation on all requests

  • IAM roles for service-to-service

Lambda functions

Backend logic for API operations.

Functions:

  • vehicles-handler: CRUD operations on vehicles

  • trips-handler: Query trip history

  • alerts-handler: Manage alerts

  • drivers-handler: Manage drivers

  • location-handler: Location Service integration

  • cache-handler: ElastiCache operations

Configuration:

  • Runtime: Python 3.11

  • Memory: 512 MB

  • Timeout: 30 seconds

  • VPC: Private subnets (for ElastiCache access)

Cognito configuration

User authentication and authorization.

User pool:

  • Sign-up: Email verification required

  • MFA: Optional (TOTP)

  • Password policy: 8+ characters, mixed case, numbers

  • Account recovery: Email

Identity pool:

  • Authenticated role: Access to API Gateway

  • Unauthenticated role: Denied

Location Service

Mapping and geocoding capabilities.

Resources:

  • Map: Esri Street Map

  • Place index: Esri geocoding

  • Route calculator: Esri routing

Features:

  • Real-time vehicle tracking

  • Historical route visualization

  • Address geocoding

  • Route calculation

  • Geofencing (future)

Fleet Manager UI

React-based web application.

Pages:

  • Dashboard: Fleet overview with key metrics

  • Vehicles: List and manage vehicles

  • Map: Real-time vehicle tracking

  • Trips: Trip history and analytics

  • Alerts: Maintenance and safety alerts

  • Drivers: Driver management and scoring

Technologies:

  • React 18

  • TypeScript

  • AWS Amplify

  • CloudScape Design System

  • MapLibre GL JS (for maps)