Skip to content
CAI
Software that uses CAICheck a score

prooph/event-store-http-api

49.2

Weak · 21 September 2026

446

lines of production code

PHP

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is an HTTP API for managing event streams and projections, built on the Zend Expressive framework. It provides endpoints for stream operations such as appending, loading, and deleting events, as well as managing projection states. The architecture supports multiple database backends via PDO, with integration and unit tests ensuring the reliability of the middleware and routing layers.

Features

Add BaseUrl middleware and supporting infrastructure

Introduced a new BaseUrl middleware that strips a configured base path from incoming request URIs and updates the URL helper's base path, enabling the application to correctly resolve URLs relative to a sub-path. This change includes the BaseUrl middleware implementation, a corresponding factory for dependency injection, a UrlHelper factory for container wiring, and a PSR-15 compatible ResponseFactory.

src/Middleware · high confidence

Initial configuration and routing setup for the Event Store HTTP API

The application's configuration and routing layer has been established, introducing the core HTTP endpoints for stream operations (load, post, delete, metadata, and stream existence checks) and projection management (fetch, delete, reset, stop, and status checks). This includes the initial setup of the middleware pipeline and dependency injection container.

config · high confidence

Behavioural changes

Migrate event store configuration from MongoDB/Doctrine to PDO-based implementations

The configuration for the event store backend has been refactored to support multiple database backends via PDO. The previous MongoDB and Doctrine adapter configurations have been removed in favor of new factory classes for MariaDB, MySQL, and PostgreSQL. The configuration now requires selecting a specific persistence strategy (e.g., \MySqlAggregateStreamStrategy\) and a PDO connection alias, replacing the earlier adapter-based setup.

config/autoload · high confidence

Updated entry point to use Zend Expressive application

The public/index.php entry point has been updated to bootstrap a Zend Expressive application. The script now explicitly changes to the project root directory, loads the autoloader, retrieves the application and middleware factory from the container, and executes the configured middleware pipeline and routes before running the application.

public · high confidence

Upgrade to Zend Expressive 3 and modernize project configuration

The project has been upgraded to Zend Expressive 3, replacing older dependencies like container-interop and zend-servicemanager with modern equivalents such as psr/container and zendframework/zend-expressive. The composer configuration has been updated to use a .dist template (composer.json.dist) for safer local development, and the project now supports Docker-based development environments via a new docker-compose.yml.dist file. Additionally, the CI pipeline has been enhanced to test against PHP 7.2 and use PostgreSQL for integration tests.

(repo-wide) · high confidence

Test coverage

Added integration tests for the HTTP API; Added unit tests for UrlHelperFactory, BaseUrlFactory, BaseUrl middleware, and ResponseFactory.

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 50 → 49 (-1.0)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 (new)
  • Architecture 69 → 66 (-3.3)
  • Maturity 37 → 37 (+0.0)
  • Readiness 50 → 39 (-10.3)
  • Security 100 → 100 (+0.0)

Resolved (7)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — no supported dependency manifest was read
  • No exposed public API
  • Test reliability not included
  • The installation steps copy only composer.dist and pipeline.php.dist but omit the required adapter configuration for Prooph\EventStore\Adapter\PdoAdapter (the default) to be picked up by the facade. (README.md)
  • complexity unreadable for .php — churn × complexity hotspots could not be measured
  • dormant codebase — no living knowledge left to concentrate

New (1)

  • Documentation: no architecture or design documentation (README.md)

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

prooph/event-store-http-api was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit c894f3eaaf69c3f54fd5514813fdb56c338f9fb2 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-fa71c66cabd8.