Skip to main content

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.

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.

Before you start

Complete the Prerequisites and Building steps first. The composeUp task depends on assemble, so the service JARs must exist before Docker can build the images.

Start and use the application

1

Start the stack

From the repository root, run:
./gradlew :composeUp
The leading : is required. Running ./gradlew composeUp (without it) will not work as expected.
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.
2

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:
ServiceSwagger UI URL
Consumer Servicehttp://localhost:8081/swagger-ui/index.html
Order Servicehttp://localhost:8082/swagger-ui/index.html
Kitchen Servicehttp://localhost:8083/swagger-ui/index.html
Restaurant Servicehttp://localhost:8084/swagger-ui/index.html
Accounting Servicehttp://localhost:8085/swagger-ui/index.html
Order History Servicehttp://localhost:8086/swagger-ui/index.html
A typical end-to-end flow through the UIs is:
  1. Create a consumer — Consumer Service (localhost:8081)
  2. Create a restaurant — Restaurant Service (localhost:8084)
  3. Place an order — Order Service (localhost:8082)
  4. View the order — Order Service (localhost:8082)
  5. View the order history — Order History Service (localhost:8086)
3

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:
curl http://localhost:8087/orders
4

Stop the stack

To stop all containers and remove them, run:
./gradlew :composeDown

Docker Toolbox and remote Docker hosts

If the containers are not accessible at localhost — for example, because you are using Docker Toolbox — replace localhost in all URLs above with the value of your DOCKER_HOST_IP environment variable. See the Prerequisites page for instructions on setting this variable.

Infrastructure services

In addition to the application services, composeUp starts several infrastructure containers that the services depend on:
ContainerPortPurpose
MySQL3306Relational database for all services
Apache Kafka9092Message broker for inter-service events
Zookeeper2181Coordination service for Kafka
CDC service8099Eventuate CDC — relays database changes to Kafka
DynamoDB Local8000Local DynamoDB for Order History Service
Zipkin9411Distributed tracing for Order Service, Delivery Service, and API Gateway
Kafka GUI9088Web interface for browsing Kafka topics

Build docs developers (and LLMs) love