{"id":22496986,"url":"https://github.com/morebec/orkestra-event-sourcing","last_synced_at":"2025-03-27T21:25:18.246Z","repository":{"id":49499718,"uuid":"359991572","full_name":"Morebec/orkestra-event-sourcing","owner":"Morebec","description":"[READ ONLY] Orkestra component providing utilities and classes for implementing Event Sourcing","archived":false,"fork":false,"pushed_at":"2023-03-31T18:46:37.000Z","size":111,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"2.x","last_synced_at":"2025-02-01T23:45:11.919Z","etag":null,"topics":["cqrs","event-sourcing","orkestra","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Morebec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-21T00:55:23.000Z","updated_at":"2022-07-25T15:51:31.000Z","dependencies_parsed_at":"2024-12-06T20:15:19.221Z","dependency_job_id":"aa88032c-e75f-41ed-ba85-af0b285db5ad","html_url":"https://github.com/Morebec/orkestra-event-sourcing","commit_stats":{"total_commits":62,"total_committers":2,"mean_commits":31.0,"dds":"0.016129032258064502","last_synced_commit":"e7b1ddb7acbdba27ccb14abd6f88396f6989c68c"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Morebec%2Forkestra-event-sourcing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Morebec%2Forkestra-event-sourcing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Morebec%2Forkestra-event-sourcing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Morebec%2Forkestra-event-sourcing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Morebec","download_url":"https://codeload.github.com/Morebec/orkestra-event-sourcing/tar.gz/refs/heads/2.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245925709,"owners_count":20694947,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cqrs","event-sourcing","orkestra","php"],"created_at":"2024-12-06T20:15:11.476Z","updated_at":"2025-03-27T21:25:18.221Z","avatar_url":"https://github.com/Morebec.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Event Sourcing\n\nThe Event Sourcing Orkestra component provides utilities and classes \nfor implementing Event Sourcing in a system Using PHP. \n\nIt can be seen as persistence agnostic library that serves as an abstraction over the concept of an Event Store.\nIt also provides utilities for modeling Event Sourced Aggregate Roots in a DDD sense,\nas well as schema validation and migration tools through an upcasting pipeline.\nIt also supports snapshotting and projections.\n\n\u003e Note: Being an abstraction library, this component does not provide any concrete implementation of an Event Store (except for an in memory one used for testing), \n\u003e it simply provides the required interface to support the concepts.\n\u003e For an actual implementation this component can be used in tandem with the official companion component\n\u003e `morebec/orkestra-postgresql-eventstore`.\n\u003e \n\u003e You are however, free to implement your own concrete storage implementation according to your\n\u003e system's technology stack. In that case you can refer yourself to the [PostgreSQL implementation](https://github.com/Morebec/orkestra-postgrsql-eventstore).\n\n\n## Features:\n- Event schema migrations through Upcasting\n- Modeling classes for Event Sourced Aggregate Roots\n- Projections support\n- Snapshotting\n\n\n## Need help? Have Question?\nCreate an issue or a discussion on the [Orkestra Repository](https://github.com/Morebec/orkestra), we will be glad to help you as best as we can!\n\n## Getting Started\nInstall the component in your project through composer.\n```shell\ncomposer require morebec/orkestra-event-sourcing\n```\n\n## Usage\nFor usage read the [documentation](docs/EventStore.md)\n\n### Reading from a Stream\nReading from a stream is also very simple:\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorebec%2Forkestra-event-sourcing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmorebec%2Forkestra-event-sourcing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorebec%2Forkestra-event-sourcing/lists"}