Releases: matiasnm/WorkflowEngine
Releases · matiasnm/WorkflowEngine
WorkflowEngine v1.0.0-alpha.1
WorkflowEngine v1.0.0-alpha.1
First release of the workflow orchestration engine.
Core Engine
- Workflow definitions with states (code, name, terminal flag) and transitions
- State transition execution with domain rule validation
- Append-only
StateChangedevent history per execution - Query next available states for any execution
- Immutable aggregate pattern — transitions produce new
WorkflowExecutioninstances
REST API (CQRS)
- Full workflow CRUD: create, list, get, update (PUT with edit-constraint validation), delete (guarded)
- Execution CRUD: start, list (paginated), get, delete (terminal state only)
- Pre-flight editability check:
GET /workflows/{id}/editable - Transitions: execute, query next states, get history
- Execution context (optional JSON metadata)
- Per-execution webhook callbacks (async post-commit dispatch)
Security
- API Key authentication via
X-API-Keyheader
Observability
- Prometheus metrics:
workflow_transitions_totalcounter withfrom_state/to_statetags - Structured JSON logging via Logstash Logback Encoder (MDC: executionId, fromState, toState)
- Docker Compose with Prometheus + Grafana included
Frontend (Angular 19)
- Workflow list with skeleton loading, search/filter
- Workflow detail with states table and transitions list
- Workflow creation form
- Workflow edit form with smart validation
- Execution detail with transition buttons (pessimistic UI)
- History timeline in vertical and horizontal modes
- Paginated execution list per workflow + global aggregated view
- Start Execution component with loading state
- Reusable UI atoms: skeleton cards, error banners, retry buttons, spinners
- Global error toast with auto-dismiss
- CSS Custom Properties theming system (
--we-*)
Testing
- 22 backend test classes (80+ methods) — domain, use cases, controllers, persistence, security
- 28 frontend spec files — services, components, fake adapters, utilities
- PostgreSQL integration test via Testcontainers
- End-to-end HTTP lifecycle test
- API Key security filter test
Infrastructure
- Docker Compose: PostgreSQL 16 + Prometheus + Grafana
- Flyway migrations (V1–V5): initial schema, indexes, cascade deletes, execution context, callback URL
- Spring profiles:
dev-h2(embedded H2),dev-pg(PostgreSQL),dev-memory(in-memory HashMap) - OpenAPI / Swagger UI at
/swagger-ui.html