finds.dev← search

// the find

nashtech-garage/yas

★ 1,973 · Java · MIT · updated Jun 2026

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.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →