PHPackages                             morebec/orkestra - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. morebec/orkestra

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

morebec/orkestra
================

Orkestra is a library of infrastructure and architecture helpers for creating CQRS applications

1.0.1(5y ago)2541ProprietaryPHPPHP &gt;=7.3CI failing

Since Jan 22Pushed 5y ago1 watchersCompare

[ Source](https://github.com/Morebec/Orkestra)[ Packagist](https://packagist.org/packages/morebec/orkestra)[ RSS](/packages/morebec-orkestra/feed)WikiDiscussions master Synced 6d ago

READMEChangelog (3)Dependencies (8)Versions (15)Used By (1)

Orkestra
========

[](#orkestra)

Orkestra is an opinionated framework with a plethora of recommendations on architectural design that we use internally at Morebec to develop new products. It also provides technical tools to quickly create products that are easy to maintain and scale.

At its core, Orkestra provides utilities for DDD, CQRS and Event Sourcing.

Orkestra allows to quickly develop products and applications while maintaining a standardized approach that is easy to understand and improve.

Why Orkestra
------------

[](#why-orkestra)

Given the current nature of Morebec, which is indie software development, in order to provide value to our clients, we need to be able to have a structure that is similar from project to project, while offering a stable platform that can stand the test of time and scale.

Building applications that will be public facing in production is a challenge in itself that requires a lot of thinking and preparation.

To ensure that we can always provide the same level of quality, while being prepared for the potential scale of our clients, Orkestra serves as both a technical and thinking framework to help us achieve these goals.

From a technical stand point, Orkestra tries to be as unobtrusive as possible by relying mostly on interfaces that denote the conceptual contracts it tries to fulfill. Scalable and resilient CQRS and Event Sourcing requires a lot of plumbing that is very easy to get wrong, as such it provides default implementation of these contracts to stay as much as possible at the edges of the different layers (application, domain and infrastructure.) This set of interfaces allows different projects to extend the framework with their own implementations when needed while still remaining compatible with the Orkestra framework and its ecosystem.

Features
--------

[](#features)

- Domain Driven Design Building Blocks.
- Command Query Responsibility Segregation (CQRS) building blocks.
- Event Sourcing building blocks.
- Intra Application Messaging.
    - Based on Chain of responsibility pattern (middleware pipeline)
    - Synchronous processing by default.
    - Asynchronous processing using workers and scheduling.
    - Scheduling support.
    - Tracing with correlation and causation tracking.
- Explicit Personal Information Storage Interface.

Installation
------------

[](#installation)

To include Orkestra in your projects, it is highly recommended relying on `composer`.

Run the following composer command:

```
$ composer require `morebec/orkestra`
```

### Adapters

[](#adapters)

Orkestra relies on adapters to add functionality to the base classes.

- [OrkestraSymfonyBundle](https://github.com/Morebec/OrkestraSymfonyBundle) - Integrates Orkestra with Symfony
- [OrkestraMongoDbAdapter](https://github.com/Morebec/OrkestraMongoDbAdatper) - Add Mongo DB storage support for Orkestra services

Usage &amp;&amp; Documentation
------------------------------

[](#usage--documentation)

For the documentation on how to use Orkestra and its core principles, please refer to the `docs/` directory.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~37 days

Recently: every ~20 days

Total

11

Last Release

1937d ago

Major Versions

v0.3.0 → 1.02020-11-05

### Community

Maintainers

![](https://www.gravatar.com/avatar/10d7f5561446f2d4df4413803946e9f77175155d241f78bd65c0dd94e6caffc5?d=identicon)[jwillp](/maintainers/jwillp)

---

Top Contributors

[![jwillp](https://avatars.githubusercontent.com/u/5913483?v=4)](https://github.com/jwillp "jwillp (91 commits)")

---

Tags

architecture-helperscqrsdddevent-sourcingframeworkorkestraphp-frameworkprototypesymfony

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/morebec-orkestra/health.svg)

```
[![Health](https://phpackages.com/badges/morebec-orkestra/health.svg)](https://phpackages.com/packages/morebec-orkestra)
```

###  Alternatives

[shlinkio/shlink

A self-hosted and PHP-based URL shortener application with CLI and REST interfaces

4.8k4.3k](/packages/shlinkio-shlink)[pocketmine/pocketmine-mp

A server software for Minecraft: Bedrock Edition written in PHP

3.5k74.6k86](/packages/pocketmine-pocketmine-mp)[firefly-iii/data-importer

Firefly III Data Import Tool.

7545.8k](/packages/firefly-iii-data-importer)[hyperf/di

A DI for Hyperf.

182.8M594](/packages/hyperf-di)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
