https://github.com/SpineEventEngine/core-java
The Java implementation of the framework core
https://github.com/SpineEventEngine/core-java
ddd-cqrs-framework event-sourcing java
Last synced: 7 months ago
JSON representation
The Java implementation of the framework core
- Host: GitHub
- URL: https://github.com/SpineEventEngine/core-java
- Owner: SpineEventEngine
- License: apache-2.0
- Created: 2015-06-30T13:50:58.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2025-05-16T18:48:35.000Z (8 months ago)
- Last Synced: 2025-05-16T19:45:00.688Z (8 months ago)
- Topics: ddd-cqrs-framework, event-sourcing, java
- Language: Java
- Homepage: https://spine.io
- Size: 179 MB
- Stars: 37
- Watchers: 12
- Forks: 12
- Open Issues: 99
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-java - Spine Event Engine
README
# Welcome to Spine Event Engine
[![Ubuntu build][ubuntu-build-badge]][gh-actions]
[](https://codecov.io/github/SpineEventEngine/core-java?branch=master)
[](http://www.apache.org/licenses/LICENSE-2.0)
[gh-actions]: https://github.com/SpineEventEngine/core-java/actions
[ubuntu-build-badge]: https://github.com/SpineEventEngine/core-java/actions/workflows/build-on-ubuntu.yml/badge.svg
[Spine Event Engine][spine-site] is a Java framework for building Event Sourcing and CQRS
applications that are accessed by clients built with JavaScript, Java Nano (Android), Dart, and Java.
## Releases
The project is under active ongoing development.
You are welcome to experiment and [provide your feedback][email-developers].
The latest stable version is [1.9.0][latest-release].
## Contents
This repository contains the code of:
- core types;
- client API;
- server API;
- testing utilities for the client- and server-side code.
## Quick start and examples
Please see the [“Quick Start” guide][quick-start] which goes through a Hello World project showing
how to create a Spine-based project.
More introductory application examples are available from
the [Spine Examples][spine-examples] GitHub organization.
## Building from sources
Starting version `2.0.0-SNAPSHOT.210` building Spine modules requires JDK 17.
Versions of the v1.x family could be built with JDK 8.
Gradle is used as a build and dependency management system.
This repository uses [configuration files][config] shared across several Spine libs. They are
plugged in as a Git submodule. Please use the following command to initialize it:
```sh
git submodule update --init --recursive
```
Also, a `pull` script is located in the root of `core-java` repository. Use it to update to the
latest version of the configuration files.
## Important warnings
* The code annotated with `@Internal` are not parts of public API of the framework.
Therefore, such API should not be used from the outside of the framework.
* The public API marked as `@Experimental` may be used at own risk; it can change at any time,
and has no guarantee of API stability or backward-compatibility.
* The API annotated with `@SPI` is for those who intend to extend the framework,
or provide custom storage implementations.
If you need to use API with one of these annotations, please [contact us][email-developers].
[email-developers]: mailto:developers@spine.io
[latest-release]: https://github.com/SpineEventEngine/core-java/releases/tag/v1.9.0
[spine-site]: https://spine.io/
[quick-start]: https://spine.io/docs/quick-start
[spine-examples]: https://github.com/spine-examples
[todo-list]: https://github.com/spine-examples/todo-list
[v2]: https://github.com/orgs/SpineEventEngine/projects/13
[config]: https://github.com/SpineEventEngine/config/