diff --git a/README.md b/README.md index f5d6379..93422a3 100644 --- a/README.md +++ b/README.md @@ -43,10 +43,10 @@ continues. ## What's inside -- **Backend:** Kotlin / Spring Boot 4, hexagonal, CIB seven 2.2.0 embedded (JavaDelegates). The full - BPMN palette: message start, DMN, event-based gateway, timers, parallel fork/join, user tasks, +- **Backend:** Kotlin / Spring Boot, hexagonal, CIB seven embedded (JavaDelegates). The full BPMN + palette: message start, DMN, event-based gateway, timers, parallel fork/join, user tasks, compensation. -- **Frontend:** React 19, Feature-Sliced Design, Tailwind v4, TanStack Router/Query, forms with +- **Frontend:** React, Feature-Sliced Design, Tailwind, TanStack Router/Query, forms with react-hook-form + zod, MSW-backed vitest, Playwright e2e mapped 1:1 to the Bruno scenarios. - **The contract:** springdoc generates `openapi/openapi.json` (committed, drift-gated); orval regenerates the frontend's typed TanStack Query client from it. @@ -95,7 +95,7 @@ fullstack-example/ ├── AGENTS.md · CLAUDE.md # AI guidance (AGENTS.md is the single source) ├── service/ │ ├── common-architecture-tests/ # ArchUnit + Konsist rules (fail the build) -│ └── app/ # hexagonal Kotlin/Spring Boot 4 + CIB seven +│ └── app/ # hexagonal Kotlin/Spring Boot + CIB seven ├── openapi/openapi.json # GENERATED by a test, COMMITTED, drift-gated in CI ├── frontend/ # React + FSD (npm-only; e2e/ Playwright specs) ├── bruno/ # API scenario collections @@ -106,10 +106,6 @@ fullstack-example/ └── .github/workflows/ # pre-merge (parallel jobs) + nightly ``` -**Stack:** Kotlin · Spring Boot 4 · CIB seven 2.2.0 · React 19 · TanStack Router/Query · Tailwind v4 · -orval · Vite · Vitest · Playwright. -**Ports:** Postgres `5432` · backend + engine `8080` · Cockpit `8080/camunda` · Vite `5173`. - ## Contributing & License Contributions welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) and use