Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/albertllousas/gym-class-booking-microservice
https://github.com/albertllousas/gym-class-booking-microservice
ddd debezium event-driven-architecture functional-programming helidon-se hexagonal-architecture kafka kotlin microservice optimistic-locking solid-principles transactional-outbox
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/albertllousas/gym-class-booking-microservice
- Owner: albertllousas
- Created: 2024-08-14T08:45:41.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-09-10T14:11:26.000Z (4 months ago)
- Last Synced: 2024-09-10T15:51:09.559Z (4 months ago)
- Topics: ddd, debezium, event-driven-architecture, functional-programming, helidon-se, hexagonal-architecture, kafka, kotlin, microservice, optimistic-locking, solid-principles, transactional-outbox
- Language: Kotlin
- Homepage:
- Size: 81.1 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Gym Class Booking microservice
Keywords: `Hexagonal-Architecture`, `microservice`, `kotlin`, `Helidon-SE`, `Debezium`, `SOLID`, `Domain-Driven Design`, `functional-programming`,
`Event-Driven Architecture`, `Domain-Events`, `Kafka`, `PostgreSQL`, `Transactional-outbox`, `optimistic-locking`## Functional requirements
- The system must allow the booking of an existing gym class.
- The system must allow to subscribe to waitlist for a fully booked gym class.
- The system must allow to cancel a booking.
- The system must automatically book the first person in the waitlist when a booking is canceled.# Pending
- Gym class lyfecycle (CRUD ops): create, update, delete.
## Debezium conf:
It is used only in the test env, for a prod usage it should be configured:
[Debezium test container](/src/test/kotlin/gymclass/fixtures/containers/Debezium.kt)