swellphp / eventful Goto Github PK
View Code? Open in Web Editor NEWA PHP Event Sourcing and CQRS Framework
A PHP Event Sourcing and CQRS Framework
This feature should at least include the ability to save to a MySQL event store and thus somehow bind the interface with this implementation.
Note: This is out side of the Laravel implementation. Stand alone.
Component should include:
An implementation of how an aggregate applies an event.
An implementation of handling event listeners.
Testing capabilities for developers.
Update component's readme.
Update main readme.
Update other readme files if applicable.
Pull request review.
Merge to master.
Release as version 0.5
Update composer.json
Setup on packagist
Add Travis build test.
Setup Code Coverage Tests. Moved to #GH-13
Update readme with install inst.
Push and merge.
Tag as v0.2
Update packagist
To include the ability of extending base VO's of various types, Entities and Aggregate classes.
Document an overall plan for the framework.
Push documentation and merge fork.
Plan a way to extract dependencies so that an adaptor pattern can be used when the custom Model classes depend on this package. This is so the developer can easily add functionality by extending their own classes instead of the ones from package. Furthermore, the main aim is to be able to swap this package with other frameworks in the future.
The Command Bus Component must include;
Calling a Command
Handling a Command
Testing that the Command is Handled? How? since no events are fired and thus state not changed yet (ish).
Example "ToDo" Model.
Testing helpers - Moved to #GH-16
Initial documentation in Readme file so that we don't forget what this does and how it does it.
Update main readme with marking feature as completed and also linking to the command docs.
Push and Merge
Create new tag for version 0.3
Code coverage not working locally. Xdebug is enabled.
This component must include:
Subscribes the events and their listeners.
Handles the dispatching of events to it's subscribers.
Calls the event listener handle method when an event is published.
Testing helpers using scenarios. - Moved to #GH-16
Write usage documentation in component readme file.
Update main readme with marking task as complete and also linking to the component docs.
Pull review.
Create new release 0.4
This component must include:
Ability to call the Event Store Interface for storing an event when an event is fired.
Ability to test that the record event (or similar name) method was called when an event was fired.
Create new branch develop.
Merge dev-develop into it.
Delete dev-develop.
Create new branch review.
Merge dev-review into it.
Delete dev-review.
Protect both branches
Must follow a specific domain and full example with either laravel, stand-alone or both.
This component includes:
The ability to generate Read Models when an event is fired.
Ability to test that the Read Model's repository interface is called when an event is fired.
Ability to test that (in memory or Mocks) a Read Model was updated.
Include at least a MySql Implementation for a Read Model Repository.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.