PHPackages                             ag/shop - 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. [Admin Panels](/categories/admin)
4. /
5. ag/shop

ActiveTypo3-flow-package[Admin Panels](/categories/admin)

ag/shop
=======

8272PHP

Since Apr 5Pushed 12y ago5 watchersCompare

[ Source](https://github.com/agitso/shop)[ Packagist](https://packagist.org/packages/ag/shop)[ RSS](/packages/ag-shop/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

Ag.Shop
=======

[](#agshop)

TYPO3 Flow package to show how Ag.Event and the use of domain events can improve design and avoid anemic domain models and increase seperation of concerns.

This is example is thought of as a playground and intended for teaching/referencing of domain driven design principles.

A lot of inspiration from the book: [https://vaughnvernon.co/?page\_id=168](https://vaughnvernon.co/?page_id=168)

The example shows among other things:
=====================================

[](#the-example-shows-among-other-things)

- The use of modules that communicates using application services and shares information using value objects
- The use of aggregates to ensure invariants (such as the in stock property on inventory items)
- The use of optimistic locking on aggregates with @ORM\\Version (to avoid two concurrent processes overwrite each others changes to an aggregate)
- The use of domain events to communicate between aggregates
- Eventuel consistency between aggregates using domain events
- Transactional persistence (changes within an aggregate + the corresponding published events are persisted in the same transaction).

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/675a0d5c6c6488a9f2b524959e084b0ebb9f488e0d14a58bbfde9ddfb528e78a?d=identicon)[agitso](/maintainers/agitso)

---

Top Contributors

[![agitso](https://avatars.githubusercontent.com/u/3692447?v=4)](https://github.com/agitso "agitso (16 commits)")

### Embed Badge

![Health badge](/badges/ag-shop/health.svg)

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

PHPackages © 2026

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