Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/daggerok/event-sourcing-and-cqrs-k
EventSourcing and CQRS with Kotlin
https://github.com/daggerok/event-sourcing-and-cqrs-k
aggregate aggregate-root cqrs cqrs-application cqrs-architectural-pattern cqrs-architecture cqrs-es cqrs-framework cqrs-pattern event-sourcing eventsourcing eventstore kotlin spring-boot spring-boot-2 spring-mvc
Last synced: about 2 months ago
JSON representation
EventSourcing and CQRS with Kotlin
- Host: GitHub
- URL: https://github.com/daggerok/event-sourcing-and-cqrs-k
- Owner: daggerok
- Created: 2022-02-20T02:41:04.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-05-06T05:40:08.000Z (over 1 year ago)
- Last Synced: 2023-05-06T06:24:13.741Z (over 1 year ago)
- Topics: aggregate, aggregate-root, cqrs, cqrs-application, cqrs-architectural-pattern, cqrs-architecture, cqrs-es, cqrs-framework, cqrs-pattern, event-sourcing, eventsourcing, eventstore, kotlin, spring-boot, spring-boot-2, spring-mvc
- Language: Kotlin
- Homepage: https://daggerok.github.io/event-sourcing-and-cqrs-k/
- Size: 188 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Kotlin EventSourcing and CQRS [![CI](https://github.com/daggerok/event-sourcing-and-cqrs-k/actions/workflows/ci.yaml/badge.svg)](https://github.com/daggerok/event-sourcing-and-cqrs-k/actions/workflows/ci.yaml)
See this README on [GitHub pages](https://daggerok.github.io/event-sourcing-and-cqrs-k/)
## Build
```bash
setjdk 17 ; ./mvnw
```## Run and test web app
```bash
java -jar app/web-app/target/*jarhttp post :8080/register-bank-account aggregateId=00000000-0000-0000-0000-000000000001 username=maksimko password=pwd
http get :8080/find-bank-account-registration-date/00000000-0000-0000-0000-000000000001
http get :8080/find-bank-account-activated-state/00000000-0000-0000-0000-000000000001http post :8080/activate-bank-account aggregateId=00000000-0000-0000-0000-000000000001
http get :8080/find-bank-account-registration-date/00000000-0000-0000-0000-000000000001
http get :8080/find-bank-account-activated-state/00000000-0000-0000-0000-000000000001
```## TODO
* implement `web/web-mapdb-app`
* add application exception in `api` module and replace all RuntimeExceptions with custom application exceptions## RTFM
* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html)
* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/2.6.3/maven-plugin/reference/html/)
* [Create an OCI image](https://docs.spring.io/spring-boot/docs/2.6.3/maven-plugin/reference/html/#build-image)
* [Spring Configuration Processor](https://docs.spring.io/spring-boot/docs/2.6.3/reference/htmlsingle/#configuration-metadata-annotation-processor)
* [Spring Web](https://docs.spring.io/spring-boot/docs/2.6.3/reference/htmlsingle/#boot-features-developing-web-applications)
* [Building a RESTful Web Service](https://spring.io/guides/gs/rest-service/)
* [Serving Web Content with Spring MVC](https://spring.io/guides/gs/serving-web-content/)
* [Building REST services with Spring](https://spring.io/guides/tutorials/bookmarks/)