{"id":19921209,"url":"https://github.com/chriniko13/event-materializer-sample","last_synced_at":"2026-05-25T16:31:20.198Z","repository":{"id":37296553,"uuid":"211278825","full_name":"chriniko13/event-materializer-sample","owner":"chriniko13","description":null,"archived":false,"fork":false,"pushed_at":"2023-09-05T22:01:17.000Z","size":26,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-01T10:13:56.954Z","etag":null,"topics":["cdi","hikari","jackson","joinfaces","kafka-clients","lombok","mysql-connector","spring-jdbc","vavr"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chriniko13.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-09-27T09:01:04.000Z","updated_at":"2019-09-27T10:44:21.000Z","dependencies_parsed_at":"2023-01-21T07:15:20.619Z","dependency_job_id":null,"html_url":"https://github.com/chriniko13/event-materializer-sample","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chriniko13/event-materializer-sample","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chriniko13%2Fevent-materializer-sample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chriniko13%2Fevent-materializer-sample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chriniko13%2Fevent-materializer-sample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chriniko13%2Fevent-materializer-sample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chriniko13","download_url":"https://codeload.github.com/chriniko13/event-materializer-sample/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chriniko13%2Fevent-materializer-sample/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33483774,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-25T14:31:05.219Z","status":"ssl_error","status_checked_at":"2026-05-25T14:31:02.878Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cdi","hikari","jackson","joinfaces","kafka-clients","lombok","mysql-connector","spring-jdbc","vavr"],"created_at":"2024-11-12T22:06:59.972Z","updated_at":"2026-05-25T16:31:20.174Z","avatar_url":"https://github.com/chriniko13.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Event Materializer Sample\n\n\n#### Description\n\nEvent materializer listens in a datasource (eg: MySQL, Kafka, etc.) where events are emitted\nand materializes them to a in memory data structure (eg: map, list, etc.)\n\n\nEg:\n\n```\nDatasource: [UserCreatedEvent, UserActivatedEvent, UserJoinedPointsMembershipEvent, ...]  \nOffset:             0               1                       2                         n\n\n                        |\n                        |\n                        |\n                    [EVENT MATERIALIZER]\n                        |\n                        |\n                        \n                 usersBuffer:[ userId:{user}, ... ]\n                    \n    \n\n```\n\nOffset should only moves forward as time goes by (events added, etc)\n\n\nMore info about event sourcing: [Nice presentation of event sourcing](https://ookami86.github.io/event-sourcing-in-practice/#title.md)\n\n#### Abstractions:\n\n```text\n[DATA-BUFFER] \u003c--(2)-- [DATA-BUILDER] \u003c--(1)-- [DATA-SOURCE]\n```\n\n* (1) observes state-changes/events for specified datasource\n* (2) updates contents of buffer with the ones received from datasource\n\n\n\n#### How to run\n* Execute: `docker-compose up`\n\n* Execute: `mvn spring-boot:run`\n\n* Visit: `http://localhost:1711/posts.xhtml`\n\n* Execute (optional): `docker-compose down`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchriniko13%2Fevent-materializer-sample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchriniko13%2Fevent-materializer-sample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchriniko13%2Fevent-materializer-sample/lists"}