Wow Documentation Map
You do not need to read the sidebar from top to bottom. Pick the task you need to complete, then read only the pages required for it.
New to Wow?
Spend 15 minutes on the Introduction and Core Concepts. To run code immediately, start with Getting Started. For an existing Spring Boot service, start with Add Wow to an Existing Project.
The Main Flow in One Diagram
An aggregate makes business decisions, and its domain events are persisted as the authoritative history. Projections build read-optimized models, while sagas react to events by sending commands across aggregate boundaries. See Core Concepts and Data Flow for the precise semantics.
Choose an Entry Point by Task
| Task | Read first | Then read | Done when |
|---|---|---|---|
| Decide whether Wow fits | Introduction | Production Best Practices | You can explain the benefits, operating costs, and poor-fit cases |
| Run a first application | Getting Started | Configuration | Domain tests pass, a real command reaches SNAPSHOT, and state can be loaded |
| Add Wow to an existing Spring Boot service | Existing Project | Spring Boot Starter | KSP metadata, generated routes, command handling, and snapshot loading all work |
| Study a complete Kotlin application | Order and Cart | Application Testing | You can trace commands, events, state, sagas, projections, and restart recovery |
| Model an aggregate and invariants | Aggregate Modeling | Test Suite | Commands emit domain events and replay produces verified state |
| Build application release gates | Application Testing | Production Best Practices | Domain, HTTP, real-adapter, recovery, and security-negative evidence exists |
| Evolve persisted events | Event Evolution | Event Store | Upgrader registration, ordering, historical replay, and rollback have evidence |
| Expose writes and completion semantics | Command Gateway | OpenAPI | You can distinguish SENT, PROCESSED, SNAPSHOT, and PROJECTED |
| Build a query model | Projection | Query Service | The projection is retry-safe and idempotent, with a clear query boundary |
| Coordinate across aggregates | Saga | Event Compensation | Success, retry, and unrecoverable paths are tested |
| Choose messaging and storage | Module Dependencies | Extensions | Only the required backends and starter capabilities are included |
| Prepare for production | Production Best Practices | Backup, Restore, and Replay | Idempotency, recovery, capacity, alerts, and rollback have evidence |
| Diagnose a failure or hang | Troubleshooting | The relevant core or extension page | The failed stage is known instead of merely having a larger timeout |
| Migrate a system or version | Migration Guide | The selected migration path | Inventory, reconciliation, cutover, and rollback gates are complete |
Three Suggested Paths
15 minutes: build the mental model
60 minutes: complete a vertical slice
- Getting Started
- For an existing service, use Existing Project instead
- Aggregate Modeling
- Test Suite
- Command Gateway
- Projection and Query Service
Production assessment: start with risk
- Production Best Practices
- Backup, Restore, and Replay
- Application Testing
- Observability
- Troubleshooting
- Migration Guide
- Event Evolution
Use Each Documentation Type for Its Job
- Guide explains why and how to complete a task.
- Reference provides exact configuration, examples, and ecosystem resources.
- API is available from the top navigation and provides Kotlin and Java symbols and signatures through Dokka.
- Onboarding provides role-specific paths for contributors, architects, executives, and product managers.
- Articles explain trade-offs through concrete problems; they do not replace API or configuration reference.
Version and source of truth
Documentation explains the repository but does not replace it. If prose differs from the public contracts, configuration classes, tests, or release notes for the tag you selected, follow that version's source.