finds.dev← search

// the find

spring2go/staffjoy

★ 1,900 · Java · MIT · updated Dec 2023

微服务(Microservices)和云原生架构教学案例项目,基于Spring Boot和Kubernetes技术栈

A Spring Boot port of the original Golang Staffjoy V2 — a shift-scheduling SaaS for small businesses — rebuilt explicitly as a teaching project for Chinese developers learning microservices and Kubernetes. It covers the full stack: seven backend services, two React SPAs, a custom reverse proxy (Faraday), Docker Compose, and K8s deployment. If you want to see how a real-ish multi-service Spring app is wired together end-to-end, this is one of the better examples in the ecosystem.

The service decomposition is honest — each service has its own DB schema, its own Feign client interface in a separate `-api` module, and its own test suite, which is how you'd actually structure this. The custom Faraday gateway implemented as a Servlet Filter is instructive: it shows what an API gateway does at the HTTP level rather than hiding it behind Spring Cloud Gateway magic. The common-lib module isolates cross-cutting concerns (auth context, error handling, audit logging, Sentry) cleanly. Tests exist and appear to cover controllers, services, and repos separately, which is more than most demo projects bother with.

Last touched in late 2023 and clearly not maintained — Spring Boot 2.x vintage, JDK 8, no sign of Spring Boot 3 migration. The mail service is hardwired to Alibaba Cloud DirectMail, and the README itself admits it often fails in practice; the suggested workaround is to fish the activation link out of the exception log, which tells you the email flow is essentially broken for anyone outside China. Inter-service auth is a shared header secret passed via Feign interceptor — fine for a demo, but anyone trying to use this as a production scaffold is inheriting a flat trust model with no service identity. The frontend React+Redux apps are not documented at all; running the full thing locally requires 8GB RAM and you're largely on your own.

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 →