Skip to content

WorkflowEngine v1.0.0-alpha.1

Pre-release
Pre-release

Choose a tag to compare

@matiasnm matiasnm released this 27 Jun 19:18
· 3 commits to main since this release

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 StateChanged event history per execution
  • Query next available states for any execution
  • Immutable aggregate pattern — transitions produce new WorkflowExecution instances

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-Key header

Observability

  • Prometheus metrics: workflow_transitions_total counter with from_state / to_state tags
  • 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