prooph/event-store-mgmt-ui
36.4
Weak · 20 September 2026
32.2k
lines of production code
JavaScript
with TypeScript
4
measurements over time
What this system is
This system is a React-based management interface for the PROOPH Event Store, designed to provide developers with tools to inspect and manipulate event-driven architectures. It features a viewer for browsing and filtering event streams, a live monitoring system for tracking watchers, and an interactive graph visualization for mapping message flows. The application supports real-time updates, local state persistence, and internationalization to facilitate the debugging and management of complex event-sourced systems.
Features
Add top navigation menu with stream and watcher selection
The application now includes a top navigation bar (TopMenu) that displays links to the Event Store, Watchers, and Message Flow views. This menu is connected to the Redux store to dynamically reflect the currently selected stream and watcher, allowing users to navigate between these core features while maintaining the active state context.
src/Layout · high confidence
Added build, development, and test scripts
The project now includes standard npm scripts for building, starting the development server, and running tests. The build script (\scripts/build.js\) compiles the application for production using Webpack and prints hosting instructions. The start script (\scripts/start.js\) launches a Webpack development server with hot reloading, proxy support, and automatic browser opening. The test script (\scripts/test.js\) runs Jest in watch mode by default, enabling continuous testing during development.
scripts · high confidence
Added file reading utility and local storage persistence for message flows and watchers
The core module now includes a new file reader utility to handle file content retrieval and a local storage service that persists message flow states and watcher configurations. This enables users to save their current diagram and watcher settings to the browser's local storage, ensuring that data is retained across sessions, while also providing the capability to load previously saved states back into the application.
src/core · high confidence
Font Awesome 5.0.8 icon library added to theme
The theme now includes the Font Awesome 5.0.8 icon library, adding \fa-brands.svg\ and \fa-regular.svg\ files to \src/theme/font-awesome/\ and an empty \style.css\ to \src/theme/css/\. This provides the underlying icon assets required for the application to display brand and regular style icons.
src/theme · high confidence
Initial German and English localization for Event Store and Watcher UI
This change introduces the initial internationalization (i18n) support for the application, adding translation files for German (de) and English (en). The translations cover the core UI elements of the Event Store and Watcher features, including side menu labels (Event Store, Message Flow, Watcher), stream management actions (filtering, inserting, refreshing events), and watcher configuration options (creating watchers, appending filters). An empty index.js file is also added to configure the i18next webpack loader.
src/i18n · high confidence
Initial React application scaffolding with TypeScript and Webpack configuration
The application is now scaffolded as a React Single Page Application using TypeScript (.tsx) and Webpack. This change introduces the build configuration (development and production), environment variable handling (loading from .env files and injecting REACT\APP\\* variables), and Jest test transformers for CSS, files, and TypeScript. It also sets up polyfills for Promise, fetch, and Object.assign, and configures the Webpack Dev Server for hot reloading and error overlays. The entry point is defined as src/index.tsx, and the build output is directed to the 'build' folder.
config · high confidence
Initial public web assets and skeleton structure
The application now includes a standard React-based public entry point (index.html) that loads jQuery as a global dependency and references a manifest for Progressive Web App support, replacing the previous minimal PHP API stub (index.php) which has been removed. This establishes the frontend skeleton using React, Redux, and Semantic UI, providing the base HTML structure and metadata for the management interface.
public · high confidence
Initial release of Semantic UI framework components
The \semantic\ directory now contains the complete source code for the Semantic UI framework, introducing a full suite of UI behaviors (API, Colorize, Form, State, Visibility, Visit), collections (Breadcrumb, Form, Grid, Menu, Message, Table), and a Gulp-based build system. This adds the foundational CSS and JavaScript modules required to render and interact with standard UI elements like forms, grids, and menus within the application.
semantic · high confidence
Initial release of the PROOPH Event Store Management UI
This change introduces the initial codebase for the PROOPH Event Store Management UI, a React + Redux + Semantic UI frontend application. It includes the core project structure, TypeScript configuration, and build tooling (Webpack, Yarn), along with configuration files for environment variables, backend proxying, and Docker Compose to facilitate local development and deployment.
(repo-wide) · high confidence
Introduce Event Store viewer with stream filtering, event insertion, and live watchers
The Event Store area now provides a complete UI for browsing and interacting with event streams. Users can select streams from a navigation rail, view events in an accordion list, and apply complex filters to narrow down results. The viewer supports inserting new events via a JSON form and copying event data to the clipboard. Additionally, a new watcher system allows users to create named watchers with persistent filter configurations, append filters to existing watchers, and toggle live monitoring of streams, with visual indicators in the watcher navigation.
src/EventStore · high confidence
Introduce Message Flow viewer with interactive graphing and live session tracking
This change introduces a new Message Flow viewer component built on Cytoscape.js, enabling users to visualize and interact with message flows as a graph. The viewer supports drag-and-drop import of JSON flow files, context-menu operations (such as selecting parent methods, neighbors, and rearranging layouts), and undo/redo history. It features a 'Watch' mode that records and highlights active nodes and their previous neighbors in real-time as domain events are recorded, providing live feedback on flow execution. The interface includes a grid-based layout for positioning, pan/zoom capabilities, and FontAwesome icon support for node visualization.
src/MessageFlow · high confidence
Introduce in-app notification system and browser push notifications
The application now includes a notification system that displays in-app alerts (info, error, warning, success) via a Redux-managed component, and also requests permission to send browser push notifications for events such as service worker updates. This system is integrated into the main layout and triggered by API errors and other application events.
src · high confidence
Removals
Removal of legacy Elm dashboard and bundled assets
The frontend's initial \elm-mdl-dashboard\ implementation has been removed, including the Elm source files (Main, Model, View, Update, etc.), the \elm-package.json\ dependency manifest, and the Webpack build configuration. Additionally, bundled static assets such as the \dialog-polyfill\ scripts and styles, \highlight.js\ for code syntax highlighting, and the \prooph-logo.svg\ image have been deleted from the \dist/assets\ directory.
frontend · high confidence
Behavioural changes
Removal of legacy Nginx gateway configuration
The Nginx configuration file for the gateway (www.conf) has been removed. This file previously handled HTTP/HTTPS traffic, served the frontend from /dist/index.html, and proxied API requests to the PHP backend. Its removal indicates a shift in how the gateway routes traffic or serves content, likely as part of the initial setup with the elm-mdl-dashboard.
gateway · high confidence
Dependencies
Migrate frontend from Elm to a React + Redux + Semantic UI stack
The project's frontend dependency tree has been completely replaced: the previous \frontend/package.json\ (which relied on Elm, Ace CSS, and a simple Webpack setup) is removed and replaced by a new root \package.json\ introducing React 16, Redux, Semantic UI, Cytoscape.js (with panzoom, edge-bend, and context-menu plugins), i18next, and a full TypeScript toolchain (ts-jest, ts-loader, TSLint). This shifts the application from an Elm-based architecture to a React/Redux SPA with richer graph visualization and internationalization capabilities.
(dependencies) · high confidence
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 35 → 36 (+1.3)
- Rubric changed (rubric-2026.08.17 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 41 → 33 (-7.5)
- Architecture 49 → 67 (+18.5)
- Maturity 47 → 54 (+6.5)
- Readiness 20 → 24 (+4.1)
- Security 75 → 60 (-15.0)
- Accessibility 58 → 74 (+15.7)
Resolved (55)
- Coverage not included — suite not readable by the collector
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- …and 35 more
New (301)
- (anonymous) (cognitive 101) (semantic/src/definitions/modules/nag.js)
- (anonymous) (cognitive 106) (semantic/src/definitions/modules/embed.js)
- (anonymous) (cognitive 111) (semantic/src/definitions/modules/shape.js)
- (anonymous) (cognitive 114) (semantic/src/definitions/modules/accordion.js)
- (anonymous) (cognitive 116) (semantic/src/definitions/behaviors/visit.js)
- (anonymous) (cognitive 125) (semantic/src/definitions/modules/dimmer.js)
- (anonymous) (cognitive 126) (semantic/src/definitions/behaviors/state.js)
- (anonymous) (cognitive 127) (semantic/src/definitions/modules/checkbox.js)
- (anonymous) (cognitive 157) (semantic/src/definitions/modules/progress.js)
- (anonymous) (cognitive 163) (semantic/src/definitions/modules/modal.js)
- (anonymous) (cognitive 172) (semantic/src/definitions/modules/transition.js)
- (anonymous) (cognitive 191) (semantic/src/definitions/modules/tab.js)
- (anonymous) (cognitive 224) (semantic/src/definitions/behaviors/visibility.js)
- (anonymous) (cognitive 37) (semantic/src/definitions/behaviors/colorize.js)
- (anonymous) (cognitive 76) (semantic/src/definitions/modules/rating.js)
- (anonymous) (cognitive 96) (semantic/src/definitions/globals/site.js)
- (anonymous) (cyclomatic 113) (semantic/src/definitions/modules/checkbox.js)
- (anonymous) (cyclomatic 119) (semantic/src/definitions/modules/modal.js)
- (anonymous) (cyclomatic 129) (semantic/src/definitions/modules/sidebar.js)
- (anonymous) (cyclomatic 130) (semantic/src/definitions/modules/progress.js)
- …and 281 more
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-mgmt-ui 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 20 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 84df561d2b35245c9710cfa7df35a2bc2d638446 — 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-28e75b8e3254.