https://github.com/omidp/eventsauce4j
A lightweight, event sourcing toolkit for Java + Spring.
https://github.com/omidp/eventsauce4j
event-driven event-sourcing java spring spring-boot
Last synced: 8 months ago
JSON representation
A lightweight, event sourcing toolkit for Java + Spring.
- Host: GitHub
- URL: https://github.com/omidp/eventsauce4j
- Owner: omidp
- License: apache-2.0
- Created: 2025-09-28T16:55:42.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-10-11T21:38:18.000Z (8 months ago)
- Last Synced: 2025-10-13T08:51:03.098Z (8 months ago)
- Topics: event-driven, event-sourcing, java, spring, spring-boot
- Language: Java
- Homepage: https://omidp.github.io/EventSauce4j/
- Size: 856 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EventSauce4j
A lightweight, **event sourcing** toolkit for Java + Spring, inspired by (and conceptually aligned with) [EventSauce](https://eventsauce.io/).
It provides clean building blocks for **domain events**, **message repositories**, **dispatching**, **outbox**, with a persistence module.
> If you know EventSauce in PHP, you should feel at home: the vocabulary, responsibilities, and flow are intentionally adapted to Java idioms.
[](https://github.com/omidp/EventSauce4j/actions/workflows/ci.yml)
---
## Table of Contents
- [Features](#features)
- [Requirements](#requirements)
- [License](#license)
- [Roadmap](#roadmap)
- [Build](#build)
- [Usage](#usage)
---
## Features
- **Familiar EventSauce model** (Domain Events, Message Repositories/Decorators, Dispatchers).
- **Outbox** support for reliable, exactly-once external publishing.
- **Pluggable serialization** (Jackson by default).
---
## Requirements
- **Java**: 17 or later
- **Build**: Maven 3.8+
- **Database**: PostgreSQL 13+ (recommended 14+)
---
## License
Licensed under the Apache 2.0 License.
---
## Roadmap
- Implement JDBC Outbox pattern.
- Enhance spring boot configuration.
- Add idempotency key handling for consumer de-duplication.
---
## Build
```
mvn clean install
```
## Usage
For reference, see the Spring Boot example project: eventsauce4j-example.