microservices-patterns/ftgo-application

Example code for the book Microservice patterns

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 17 minutes ago
Added to GitGenius on September 18th, 2026
Created on October 23rd, 2017
Open Issues & Pull Requests: 97 (+0)
GitHub issues: Enabled
Number of forks: 1,425
Total Stargazers: 3,768 (+0)
Total Subscribers: 185 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 8.6 hours
Mean response time: 21.6 hours
90th percentile: 2.3 days
Tracked items: 3

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,667 days
Stale 30+ days: 2
Stale 90+ days: 2

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

FTGO Application is example code for learning microservice architecture patterns.

The project demonstrates how to build a food delivery system using microservices principles. It solves the problem of understanding how to structure multiple independent services that must communicate and coordinate with each other. The application uses REST APIs for synchronous communication and Apache Kafka via the Eventuate Tram framework for asynchronous messaging. Services implement sagas to maintain data consistency across distributed transactions, and the Order Service demonstrates this with create, cancel, and revise order sagas. Each service is a Spring Boot application organized into domain, messaging, web, and main packages, with event sourcing and CQRS patterns illustrated through the Order History Service.

This codebase is intended primarily for learning from the accompanying book rather than as a production template. The business logic is intentionally minimal to keep focus on architectural patterns. The application requires substantial memory due to its many services and infrastructure components like MySQL and Kafka, which are deployed via Docker Compose or Kubernetes. Developers should expect to consult the book for documentation, as the code itself has sparse inline explanation. The project consists of seven services: Consumer, Restaurant, Order, Kitchen, Accounting, Order History, and an API Gateway, making it suitable for understanding how larger distributed systems are organized.

Development activity shows consistent engagement with issues and a willingness to help users understand the codebase. The project maintains a work-in-progress stance, indicating ongoing refinement rather than a finished product. Updates appear driven by clarifications needed for the book's examples and user questions about implementation details.