{"id":19196867,"url":"https://github.com/eventstore/samples","last_synced_at":"2025-03-23T04:06:36.215Z","repository":{"id":40369273,"uuid":"371383068","full_name":"EventStore/samples","owner":"EventStore","description":"Samples showing practical aspect of EventStoreDB, Event Sourcing","archived":false,"fork":false,"pushed_at":"2025-02-06T21:51:27.000Z","size":4271,"stargazers_count":76,"open_issues_count":7,"forks_count":25,"subscribers_count":27,"default_branch":"main","last_synced_at":"2025-03-15T04:04:54.752Z","etag":null,"topics":["cqrs","database","event-sourcing","eventstore","eventstoredb","samples"],"latest_commit_sha":null,"homepage":"https://developers.eventstore.com/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EventStore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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-05-27T13:28:09.000Z","updated_at":"2025-02-10T03:14:40.000Z","dependencies_parsed_at":"2023-12-21T19:08:12.257Z","dependency_job_id":"7e7dbd0d-29a2-4a44-a4f6-698b93d59f96","html_url":"https://github.com/EventStore/samples","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EventStore%2Fsamples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EventStore%2Fsamples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EventStore%2Fsamples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EventStore%2Fsamples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EventStore","download_url":"https://codeload.github.com/EventStore/samples/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245052673,"owners_count":20553172,"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","database","event-sourcing","eventstore","eventstoredb","samples"],"created_at":"2024-11-09T12:14:41.641Z","updated_at":"2025-03-23T04:06:36.185Z","avatar_url":"https://github.com/EventStore.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EventStoreDB samples\n\n[EventStoreDB](https://www.eventstore.com/) is an industrial-strength database technology used for event-sourcing. It is open source and runs on most platforms or as SaaS in [Event Store Cloud](https://www.eventstore.com/event-store-cloud).\n\nThis repository provides practical samples that demonstrate features of [EventStoreDB](https://www.eventstore.com/) and its client SDKs.\n\nCommon operations and samples are in the [client repositories](https://github.com/EventStore?q=EventStore+Client)\n\n## Contributing\n\nFeel free to [create a GitHub issue](https://github.com/EventStore/samples/issues/new) if you have any questions or request for more explanation or samples.\n\nWe're open to any contribution! If you noticed some inconsistency, missing piece, or you'd like to extend existing samples - we're happy to [get your Pull Request](https://github.com/EventStore/samples/compare).\n\nRead more in the [Contribution Guidelines](./CONTRIBUTING.md)\n\n## Samples\n\nSamples are organized by topics in dedicated directories by programming languages/environments.\n\n### Quickstart\n\nQuickstart guides have been created that show you how to stand up a sample Hello World application that appends to and reads from a stream in EventStoreDB.\n\nFind the sample for your preferred client language below:\n\n- .NET: [ASP.NET Core sample](/Quickstart/Dotnet/esdb-sample-dotnet)\n- Go: [Gin sample](/Quickstart/Go/esdb-sample-go)\n- Java: [Spring Boot sample](Quickstart/Java/esdb-sample-springboot)\n- Node.js: [Express.js sample](/Quickstart/Nodejs/esdb-sample-nodejs)\n- Python: [Flask sample](/Quickstart/Python/esdb-sample-python)\n- Rust: [Rocket sample](/Quickstart/Rust/esdb-sample-rust)\n\n### **[CQRS flow](./CQRS_Flow/)** \n- [.NET](./CQRS_Flow/Dotnet/)\n\n  **Description**:\n  - Demonstrates typical event sourcing with CQRS flow\n  - Stores events in EventStoreDB\n  - Shows how to handle the write model and read model\n  - Builds read models using [Subscription to `$all`](https://developers.eventstore.com/clients/grpc/subscribing-to-streams/#subscribing-to-all)\n  - Shows how to store read models as ElasticSearch documents\n  - Shows how to write unit and integration tests\n\n- [Java](./CQRS_Flow/Java/)\n\n  **Description**:\n  - Demonstrates typical event sourcing with CQRS flow\n  - Stores events in EventStoreDB\n  - Shows how to handle the write model and read model\n  - Builds read models using [Subscription to `$all`](https://developers.eventstore.com/clients/grpc/subscribing-to-streams/#subscribing-to-all)\n  - Shows how to store read models as Postgres documents\n  - Shows how to write unit and integration tests\n\n  The examples show 2 variations of handling business logic:\n  - [Aggregate pattern](./CQRS_Flow/Java/event-sourcing-esdb-aggregates)\n  - [Command handlers as pure functions](./CQRS_Flow/Java/event-sourcing-esdb-simple)\n\n\n### **[Crypto Shredding](./Crypto_Shredding/)** \n- [.NET](./Crypto_Shredding/Dotnet/)\n\n  **Description**:\n  - Shows how to protect sensitive data (e.g. for [European General Data Protection Regulation](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation)) in Event-Sourced Systems.\n  - Shows how to use the .NET `System.Security.Cryptography` library with [AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) algorithm to encrypt and decrypt events' data.\n  - Stores events in EventStoreDB\n\n### **[Sending EventStoreDB logs to Elasticsearch](./Logging/Elastic/)**\n\n**Description**\n\nThese samples show how to configure various ways of sending logs from EventStoreDB to Elasticsearch:\n- [Logstash](./Logging/Elastic/Logstash/),\n- [Filebeat](./Logging/Elastic/Filebeat/),\n- [FilebeatWithLogstash](./Logging/Elastic/FilebeatWithLogstash/)\n\n## Running samples locally\n\nCheck the `README.md` file in the specific sample folder for detailed instructions.\n\n## Support\n\nInformation on EventStoreDB support: https://eventstore.com/support/.\n\nEventStoreDB Documentation: https://developers.eventstore.com/\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feventstore%2Fsamples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feventstore%2Fsamples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feventstore%2Fsamples/lists"}