Jonathan Hipolito

← All projects

REST API + console

Waybill shipment tracking API

A shipment tracking API for a made-up freight broker in Columbus, Ohio. Trucks move along real US interstate routes in real time, and every change becomes an event, a signed webhook and a line in the request log. The console you click around in is just another client of the public API.

Waybill load board with a Laredo to Memphis truck live on the map, the API response and signed webhook behind it, and the load's 4×6 shipping label
Public tracking page for the same load: on the way to Memphis, 391 miles to go, with each check call along the route

What I built

  • A REST API in Spring Boot on Java 25: shipments, carrier events, carriers, webhooks and public tracking, with API keys, idempotency keys, ETags, cursor pagination, rate limit headers and problem-details errors
  • A simulator where each load's position, trailer temperature and ETA follow from its route and the clock, so a sandbox can be fast-forwarded with a test clock and still land in the same place
  • Signed webhooks sent from an outbox, with retries from 15 seconds up to an hour and replay. A built-in request bin can act like a flaky receiver so you can watch the retries happen
  • A private, seeded sandbox for every visitor, with its own test API key, request log and webhook log
  • A React console with a live load board and map, a 4×6 shipping label, and an inspector showing the exact API response and webhook behind each screen, plus a public tracking page for the person receiving the freight
  • Compiled to a GraalVM native image that starts in under a second, built for x86 and ARM in GitHub Actions, and running on AWS EC2 (Graviton) with MySQL behind a Cloudflare Tunnel

Stack

Java, Spring Boot, MySQL, React, TypeScript, Docker, AWS EC2

Live

tracking-demo.jnathan.dev ↗