// the find
nashtech-garage/yas
YAS: Yet Another Shop, a sample microservices project in Java
YAS is a teaching project that implements a full microservices e-commerce system in Java — product catalog, cart, orders, inventory, payments, search, ratings, promotions, and a backoffice. It's aimed at Java developers who want to see how all these pieces fit together in a single runnable codebase, not at anyone who wants to ship it.
The service decomposition is realistic: BFF pattern for both storefront and backoffice, separate services for cart/order/inventory/tax/promotion rather than lumping them together. OpenTelemetry with Grafana/Loki/Tempo/Prometheus is wired up and actually functional — this is the part most tutorial projects skip. Testcontainers is used for integration tests, which means the tests actually hit real dependencies instead of mocks. The CI setup is thorough: each service has its own workflow, CodeQL scanning, and Gitleaks checks are running.
Requires 16GB RAM just to run locally — the Docker Compose setup is a 20-container behemoth, which makes it impractical to explore on most developer laptops without running partial stacks. It's pinned to Spring Boot 4.0 and Java 25, both of which are bleeding-edge as of the project's current state, so you'll hit dependency compatibility surprises. As a sample project it lacks production concerns like distributed transaction handling (saga/outbox pattern for order/inventory consistency is absent), rate limiting, and meaningful secrets management beyond the gitleaks check. The Next.js storefront and backoffice are separate apps that need their own setup, and the docs for getting them running independently are thin.