Case Study · Logistics
A cloud fleet management platform built on 12+ microservices
Our client needed one platform to run vehicles, maintenance, inspections, repairs and availability for many enterprise customers. AMT owned the whole product, from requirements and architecture to AWS deployment and support, and built a multi-tenant, event-driven platform on Java 21, Spring Boot, Angular 21, Kafka and AWS.
Schedule Technical DiscoveryYour first conversation will be with a senior technical partner, not a salesperson.
Published
At a glance
- Product
- Cloud-based enterprise fleet management platform for multiple enterprise customers
- Industry
- Logistics and supply chain
- Architecture
- Multi-tenant, 12+ independently deployable microservices, REST and Apache Kafka
- Security
- Keycloak, OAuth 2.0, JWT, role-based access, malware-scanned file uploads
- Cloud
- AWS EC2, RDS for MySQL, S3, ECR, EventBridge, Lambda, GuardDuty Malware Protection
- AMT's role
- Full lifecycle: requirements, design, architecture, development, testing, AWS deployment, maintenance
The short version
Fleet operations were spread across disconnected processes. AMT designed the platform to bring vehicle records, servicing, inspections, incidents, repairs and station management into one platform that many enterprise customers share securely. Twelve-plus Spring Boot microservices talk over REST and Kafka, file uploads are quarantined and scanned before use, and Docker plus Jenkins CI/CD ship every change.
The problem
- Fragmented operations. Vehicles, maintenance, inspections and repairs ran in separate processes and systems.
- Poor visibility. Operators could not see vehicle availability and downtime in one place.
- Coordination. Service activity, station assignment and incident handling needed consistent data across modules.
- Multi-tenancy. Several enterprise customers needed secure, independent access to shared capabilities.
- Scale and reliability. The system had to handle high volumes of operational data and keep distributed services in sync.
What AMT built
Integrated fleet operations
- Vehicle registration, status, usage and station management
- Service and maintenance tracking, inspections, incidents and repairs
- Configurable operational forms and measurements
- Vehicle availability calculated from maintenance, incident and repair records
Multi-tenant architecture and security
- One platform for multiple enterprise customers, with tenant-specific data and configuration
- Central authentication with Keycloak, OAuth 2.0 and JWT
- Role-based access for administrators and operational users
Event-driven microservices
- 12+ Java Spring Boot microservices with REST APIs
- Apache Kafka for asynchronous events and data synchronisation between services
- Eureka service discovery, load balancing and circuit breakers for resilience
- Each service deploys independently
Secure cloud file handling
- Uploads go to Amazon S3 through pre-signed URLs
- Files land in quarantine storage before moving to active storage
- AWS GuardDuty Malware Protection scans every file automatically
- EventBridge and Lambda process files as events
AWS deployment and DevOps
- AWS EC2 hosting and AWS RDS for MySQL
- Docker containers, images stored in AWS ECR
- Jenkins CI/CD with automated build, test and deployment
- SonarQube for code quality
How AMT owned the product
| Stage | What AMT did |
|---|---|
| Design and architecture | Requirements, workflows, microservices design, multi-tenancy, database design |
| Full-stack engineering | Angular front end, Spring Boot back end, REST APIs, MySQL, Kafka |
| Security engineering | Keycloak authentication, role-based authorisation, secure file handling |
| Testing | Functional, integration, regression and performance testing with JUnit and JMeter |
| Cloud and DevOps | AWS infrastructure, Docker, Jenkins CI/CD, automated deployment |
| After launch | Maintenance, defect resolution, enhancements |
Results
- Fleet operations unified in one connected platform
- Vehicle availability and downtime visible in one place
- Secure, independent operations for multiple enterprise customers
- 12+ independently deployable microservices communicating through Kafka
- Central authentication, role-based access and malware-checked file handling
- Containerised deployments and CI/CD for ongoing changes
Technology stack
| Layer | Technology |
|---|---|
| Front end | Angular 21 |
| Back end | Java 21, Spring Boot |
| Architecture | 12+ microservices, multi-tenant |
| Database | MySQL, AWS RDS |
| Messaging | Apache Kafka |
| Security | Keycloak, OAuth 2.0, JWT |
| Cloud | AWS EC2, S3, ECR, EventBridge, Lambda, GuardDuty |
| DevOps | Docker, Jenkins, SonarQube |
| Testing | JUnit, JMeter |
Before you build something similar
- Do you need microservices yet? They pay off when modules change at different speeds or scale differently, as fleet, maintenance and file handling do here. A small product may not need them on day one.
- What crosses service boundaries? Availability depends on maintenance, incidents and repairs. Map those events before you split services.
- Where do untrusted files go? Quarantine and scan uploads before anything else touches them.
- How is each tenant isolated? Decide data separation, configuration and access per tenant up front.