The FTGO application runs as a set of Docker containers orchestrated by Docker Compose. This page explains how to start the full stack with a single Gradle command, where to find each service’s Swagger UI for interactive testing, how to reach the API Gateway, and how to shut everything down cleanly.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/microservices-patterns/ftgo-application/llms.txt
Use this file to discover all available pages before exploring further.
Before you start
Complete the Prerequisites and Building steps first. ThecomposeUp task depends on assemble, so the service JARs must exist before Docker can build the images.
Start and use the application
Start the stack
From the repository root, run:Gradle first starts the infrastructure containers — MySQL, Apache Kafka, Zookeeper, and the CDC service — and then starts the application services. On first run, Docker pulls all base images, which can take several minutes depending on your connection speed.
The leading
: is required. Running ./gradlew composeUp (without it) will not work as expected.Access the service Swagger UIs
Once all containers are healthy, each service exposes a Swagger UI you can use to explore and invoke its REST API:
A typical end-to-end flow through the UIs is:
| Service | Swagger UI URL |
|---|---|
| Consumer Service | http://localhost:8081/swagger-ui/index.html |
| Order Service | http://localhost:8082/swagger-ui/index.html |
| Kitchen Service | http://localhost:8083/swagger-ui/index.html |
| Restaurant Service | http://localhost:8084/swagger-ui/index.html |
| Accounting Service | http://localhost:8085/swagger-ui/index.html |
| Order History Service | http://localhost:8086/swagger-ui/index.html |
- Create a consumer — Consumer Service (
localhost:8081) - Create a restaurant — Restaurant Service (
localhost:8084) - Place an order — Order Service (
localhost:8082) - View the order — Order Service (
localhost:8082) - View the order history — Order History Service (
localhost:8086)
Access the API Gateway
The API Gateway is available at
http://localhost:8087. It does not expose a Swagger UI, so use curl or a tool such as Postman to interact with it directly. For example:Docker Toolbox and remote Docker hosts
Infrastructure services
In addition to the application services,composeUp starts several infrastructure containers that the services depend on:
| Container | Port | Purpose |
|---|---|---|
| MySQL | 3306 | Relational database for all services |
| Apache Kafka | 9092 | Message broker for inter-service events |
| Zookeeper | 2181 | Coordination service for Kafka |
| CDC service | 8099 | Eventuate CDC — relays database changes to Kafka |
| DynamoDB Local | 8000 | Local DynamoDB for Order History Service |
| Zipkin | 9411 | Distributed tracing for Order Service, Delivery Service, and API Gateway |
| Kafka GUI | 9088 | Web interface for browsing Kafka topics |