prooph / proophessor-do
CQRS + ES sample app for proophessor
Installs: 11
Dependents: 0
Suggesters: 0
Security: 0
Stars: 255
Watchers: 29
Forks: 66
Open Issues: 3
Language:JavaScript
Requires
- php: ^5.5 || ^7.0
- aura/router: ^2.3
- doctrine/dbal: ^2.5.4
- doctrine/migrations: ^1.4.1
- nicolopignatelli/valueobjects: ^3.0
- prooph/event-sourcing: ^4.0
- prooph/event-store: ^6.3
- prooph/event-store-bus-bridge: ^2.0
- prooph/psr7-middleware: ^0.3
- prooph/service-bus: ^5.1
- roave/security-advisories: dev-master
- sandrokeil/interop-config: ^1.0
- zendframework/zend-config: ^2.6
- zendframework/zend-expressive: ^1.0
- zendframework/zend-expressive-aurarouter: ^1.0
- zendframework/zend-expressive-helpers: ^2.0
- zendframework/zend-expressive-zendviewrenderer: ^1.1.0
- zendframework/zend-filter: ^2.7.1
- zendframework/zend-mail: ^2.7.1
- zendframework/zend-servicemanager: ^3.0.3
- zendframework/zend-stdlib: ^3.0.1
Requires (Dev)
- fabpot/php-cs-fixer: ^1.11.4
- filp/whoops: ^1.1
- phpunit/phpunit: ^4.8 || ^5.2
- proophsoftware/prooph-cli: ^0.2.0
- satooshi/php-coveralls: ^1.0
- symfony/stopwatch: ^2.7
Suggests
- prooph/event-store-doctrine-adapter: ^3.0 Use doctrine dbal event store adapter
- prooph/event-store-mongodb-adapter: ^2.0 Use mongo db event store adapter
README
prooph components in action
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
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
Management UI (new)
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:
- Pick up an open task listed below
- Get us a note in the corresponding issue that you accept the challenge
- Ask if you need help ->
- 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
A successfully merged pull request will add you to the HALL OF FAME!
Features
- Project set up, register user, post todo - done by people at prooph
- Mark a todo as done - done by Danny van der Sluijs
- Reopen a todo - done by Bas Kamer
- Add deadline to todo - done by Wojtek Gancarczyk
- Add reminder for assignee - done by Roman Sachse
- Mark a todo as expired - done by Dranzd Viper
- Notify assignee when todo deadline is expired - done by Michał Żukowski
- Check that email address is unique - done by Lucas Courot
- Allow user registration and sign in with Github - done by [your name here]
- more features will follow ...
Tutorials
Technology Stack
List of used technologies - We <3 Open Source
Support
- Ask questions on Stack Overflow tagged with #prooph.
- File issues at https://github.com/prooph/proophessor-do/issues.
- Say hello in the prooph gitter chat.
Happy messaging!