PHPackages                             prooph/proophessor-do - 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. prooph/proophessor-do

ActiveLibrary

prooph/proophessor-do
=====================

CQRS + ES sample app for proophessor

v1.7(9y ago)2561165[3 issues](https://github.com/prooph/proophessor-do/issues)BSD-3-ClauseJavaScriptPHP ^5.5 || ^7.0

Since May 4Pushed 7y ago28 watchersCompare

[ Source](https://github.com/prooph/proophessor-do)[ Packagist](https://packagist.org/packages/prooph/proophessor-do)[ Docs](http://getprooph.org/)[ RSS](/packages/prooph-proophessor-do/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (9)Dependencies (26)Versions (11)Used By (0)

Proophessor Do
==============

[](#proophessor-do)

**prooph components in action**

[![Build Status](https://camo.githubusercontent.com/2f6e83a731bea53ddec187dceab359ca43dc4f5455593bf9074ee1d02fa66c7d/68747470733a2f2f7472617669732d63692e6f72672f70726f6f70682f70726f6f70686573736f722d646f2e737667)](https://travis-ci.org/prooph/proophessor-do)[![Gitter](https://camo.githubusercontent.com/abe08b740a4156153736f791393ec4da6619c4be73212e75769f52edacc0e2b5/68747470733a2f2f6261646765732e6769747465722e696d2f4a6f696e253230436861742e737667)](https://gitter.im/prooph/improoph)

Proophessor Do (short *Do*) demonstrates the power of prooph components in conjunction with zend expressive. And you're ask to try it yourself. **Do** includes exercises! So read on and **pick up a task!**

Business Domain
---------------

[](#business-domain)

The business logic implemented in this educational project is very simple and should be known by everybody in one way or the other. It is about managing todo lists for users whereby a todo can have a deadline and the assigned user can add a reminder to get notified when time has passed.

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

[](#installation)

[Installation Documentation](docs/installation/index.md)

Management UI (new)
-------------------

[](#management-ui-new)

[Management UI Documentation](docs/mgmt-ui/index.md)

[![Model Exploration](https://github.com/prooph/proophessor/raw/master/assets/prooph_do_exploration.gif)](https://github.com/prooph/proophessor/blob/master/assets/prooph_do_exploration.gif)

Learning by doing!
------------------

[](#learning-by-doing)

When you play around with the application you will notice missing functionality. This has a simple reason. You explore a learning application and what is the best way to learn? Right! **Learning by doing!** So if you want to learn something about CQRS and Event Sourcing:

1. Pick up an open task listed below
2. Get us a note in the corresponding issue that you accept the challenge
3. Ask if you need help -&gt; [![Gitter](https://camo.githubusercontent.com/abe08b740a4156153736f791393ec4da6619c4be73212e75769f52edacc0e2b5/68747470733a2f2f6261646765732e6769747465722e696d2f4a6f696e253230436861742e737667)](https://gitter.im/prooph/improoph)
4. Have fun and learn!

*Note: Some tasks depend on others and some can be split into sub tasks. Let's discuss this in the issues. And of course you can also work together. Sharing work doubles knowledge!*

HALL OF FAME
------------

[](#hall-of-fame)

A successfully merged pull request will add you to the HALL OF FAME!

### Features

[](#features)

- Project set up, register user, post todo - done by [people at prooph](https://github.com/orgs/prooph/people)
- [Mark a todo as done](https://github.com/prooph/proophessor-do/issues/1) - done by [Danny van der Sluijs](https://github.com/DannyvdSluijs)
- [Reopen a todo](https://github.com/prooph/proophessor-do/issues/2) - done by [Bas Kamer](https://github.com/basz)
- [Add deadline to todo](https://github.com/prooph/proophessor-do/issues/35) - done by [Wojtek Gancarczyk](https://github.com/theDisco)
- [Add reminder for assignee](https://github.com/prooph/proophessor-do/issues/60) - done by [Roman Sachse](https://github.com/rommsen)
- [Mark a todo as expired](https://github.com/prooph/proophessor-do/issues/75) - done by [Dranzd Viper](https://github.com/dranzd)
- [Notify assignee when todo deadline is expired](https://github.com/prooph/proophessor-do/issues/82) - done by [Michał Żukowski](https://github.com/mikemix)
- [Check that email address is unique](https://github.com/prooph/proophessor-do/issues/92) - done by [Lucas Courot](https://github.com/lucascourot)
- [Allow user registration and sign in with Github](https://github.com/prooph/proophessor-do/issues/129) - done by \[your name here\]
- more features will follow ...

Tutorials
---------

[](#tutorials)

- [Replay History](docs/tutorials/replay_history.md)
- [Take Snapshots](docs/tutorials/take_snapshots.md)

Technology Stack
----------------

[](#technology-stack)

[List of used technologies](docs/technology_stack.md) - We &lt;3 Open Source

Support
-------

[](#support)

- Ask questions on Stack Overflow tagged with [\#prooph](https://stackoverflow.com/questions/tagged/prooph).
- File issues at .
- Say hello in the [prooph gitter](https://gitter.im/prooph/improoph) chat.

Happy messaging!

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community30

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~53 days

Recently: every ~63 days

Total

9

Last Release

3599d ago

Major Versions

v0.1 → v1.02015-09-08

PHP version history (2 changes)v0.1PHP &gt;=5.5

v1.4PHP ^5.5 || ^7.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/b633be52465d4aa057f04a7dd7ae8e9bb8ad0245c029550252a95eec395f85f4?d=identicon)[prooph](/maintainers/prooph)

---

Top Contributors

[![prolic](https://avatars.githubusercontent.com/u/394428?v=4)](https://github.com/prolic "prolic (156 commits)")[![bgaleotti](https://avatars.githubusercontent.com/u/333036?v=4)](https://github.com/bgaleotti "bgaleotti (35 commits)")[![mablae](https://avatars.githubusercontent.com/u/389360?v=4)](https://github.com/mablae "mablae (21 commits)")[![basz](https://avatars.githubusercontent.com/u/143068?v=4)](https://github.com/basz "basz (21 commits)")[![rommsen](https://avatars.githubusercontent.com/u/743946?v=4)](https://github.com/rommsen "rommsen (17 commits)")[![sandrokeil](https://avatars.githubusercontent.com/u/3597436?v=4)](https://github.com/sandrokeil "sandrokeil (17 commits)")[![theDisco](https://avatars.githubusercontent.com/u/199368?v=4)](https://github.com/theDisco "theDisco (11 commits)")[![akireikin](https://avatars.githubusercontent.com/u/2033719?v=4)](https://github.com/akireikin "akireikin (10 commits)")[![sbacelic](https://avatars.githubusercontent.com/u/647434?v=4)](https://github.com/sbacelic "sbacelic (10 commits)")[![dranzd](https://avatars.githubusercontent.com/u/167126?v=4)](https://github.com/dranzd "dranzd (9 commits)")[![lucascourot](https://avatars.githubusercontent.com/u/938375?v=4)](https://github.com/lucascourot "lucascourot (8 commits)")[![codeliner](https://avatars.githubusercontent.com/u/5131987?v=4)](https://github.com/codeliner "codeliner (3 commits)")[![angrymisanthrope](https://avatars.githubusercontent.com/u/24809533?v=4)](https://github.com/angrymisanthrope "angrymisanthrope (2 commits)")[![Orkin](https://avatars.githubusercontent.com/u/1061903?v=4)](https://github.com/Orkin "Orkin (2 commits)")[![jkuchar](https://avatars.githubusercontent.com/u/133822?v=4)](https://github.com/jkuchar "jkuchar (1 commits)")[![astavale](https://avatars.githubusercontent.com/u/17455148?v=4)](https://github.com/astavale "astavale (1 commits)")[![burzum](https://avatars.githubusercontent.com/u/162789?v=4)](https://github.com/burzum "burzum (1 commits)")[![dragosprotung](https://avatars.githubusercontent.com/u/1081073?v=4)](https://github.com/dragosprotung "dragosprotung (1 commits)")[![afoeder](https://avatars.githubusercontent.com/u/1125168?v=4)](https://github.com/afoeder "afoeder (1 commits)")[![sebastianblum](https://avatars.githubusercontent.com/u/551751?v=4)](https://github.com/sebastianblum "sebastianblum (1 commits)")

---

Tags

cqrsdddevent-sourcingphpproophexampleintegrationevent sourcingcqrsproophservice-bussnapshotszend-expressiveproophessor

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/prooph-proophessor-do/health.svg)

```
[![Health](https://phpackages.com/badges/prooph-proophessor-do/health.svg)](https://phpackages.com/packages/prooph-proophessor-do)
```

###  Alternatives

[prooph/laravel-package

Laravel package for prooph components to get started out of the box with message bus, CQRS, event sourcing and snapshots

9910.4k](/packages/prooph-laravel-package)[proophsoftware/prooph-bundle

Symfony bundle for prooph components to get started out of the box with message bus, CQRS, event sourcing and snapshots

164.3k](/packages/proophsoftware-prooph-bundle)[prooph/service-bus-symfony-bundle

88392.2k3](/packages/prooph-service-bus-symfony-bundle)[prooph/http-middleware

http middleware for prooph components

1145.0k](/packages/prooph-http-middleware)[prooph/event-store-bus-bridge

Marry CQRS with Event Sourcing

37518.3k11](/packages/prooph-event-store-bus-bridge)[prooph/snapshotter

snapshot tool for prooph event-store

19169.7k3](/packages/prooph-snapshotter)

PHPackages © 2026

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