flecomte
933907b608
testApplication
2025-04-14 23:40:06 +02:00
flecomte
027747a20b
minors changes
2025-04-14 23:40:05 +02:00
flecomte
e4ffd7792b
create docker for the API
2025-04-14 23:40:05 +02:00
flecomte
77be521627
install flyway
2025-04-14 23:40:04 +02:00
flecomte
86086eb949
move EventStream method implementation into the interface
2025-04-14 23:40:04 +02:00
flecomte
2ebd293900
connection to postgresql
2025-04-14 23:40:04 +02:00
flecomte
3b9616aa67
refactor testApplication
2025-04-14 23:40:03 +02:00
flecomte
097981112d
add postgresql docker
2025-04-14 23:40:03 +02:00
flecomte
d02b2bb049
add traefik
2025-04-14 23:40:02 +02:00
flecomte
442379dc49
fix and improve ProjectionSnapshotRepositoryInRedis
2025-04-14 23:40:02 +02:00
flecomte
22792a0427
create GameStateRepositoryInRedis
2025-04-14 23:40:01 +02:00
flecomte
9670a000f0
create ProjectionSnapshotRepositoryInRedis
2025-04-14 23:40:00 +02:00
flecomte
23b304fdbd
create interface ProjectionSnapshotRepository
2025-04-14 23:40:00 +02:00
flecomte
dd7cfb943e
update jedis config
2025-04-14 23:39:59 +02:00
flecomte
6ddffa4f41
use redis/redis-stack instead of redis/redis-stack-server
2025-04-14 23:39:59 +02:00
flecomte
dee0d32d28
Move SnapshotConfig class
2025-04-14 23:39:58 +02:00
flecomte
8e732b0f9e
Configure redis for ktor/koin
2025-04-14 23:39:58 +02:00
flecomte
6d2043d9fe
Install redis with docker
2025-04-14 23:39:57 +02:00
flecomte
c28bc00679
Create PlayerNotificationListenerTest
2025-04-14 23:39:57 +02:00
flecomte
c762f31449
Move tests
2025-04-14 23:39:56 +02:00
flecomte
8c1eabb9f5
Projection was now built on listener events
...
Create ProjectionBus and use it with listeners
add EventStream::getByVersion
2025-04-14 23:39:56 +02:00
flecomte
908cc888ad
Change EventBus to Bus
2025-04-14 23:39:55 +02:00
flecomte
cd320b31da
Move projection interface
2025-04-14 23:39:54 +02:00
flecomte
b91c45100d
A new snapshot is always created after new event
2025-04-14 23:39:54 +02:00
flecomte
12af6604d6
create a websocket route to create and join a game
2025-04-14 23:39:53 +02:00
flecomte
c3155da23c
Create route to list all the games
2025-04-14 23:39:52 +02:00
flecomte
8074881d57
Move GameStateRepository
2025-04-14 23:39:51 +02:00
flecomte
1a96c68521
Add AggregateID for the PlayerNotificationEventListener and CommandHandler
2025-04-14 23:39:50 +02:00
flecomte
0374712824
add test on GameState for canBePlayThisCard & isReady
2025-04-14 23:39:50 +02:00
flecomte
1d70f73061
restrict numeric card number to 0..9
2025-04-14 23:39:49 +02:00
flecomte
48ac4156bd
change cardOnCurrentStack on lastCardPlayer
2025-04-14 23:39:49 +02:00
flecomte
3434d43fc2
move secrete into config file
2025-04-14 23:39:48 +02:00
flecomte
4adfc6467c
Split configs
2025-04-14 23:39:48 +02:00
flecomte
769d104040
Move file and add interface to improve Archi Hexa
2025-04-14 23:39:47 +02:00
flecomte
4739495980
Rename file DeclareWebSocketsGameRoute
2025-04-14 23:39:47 +02:00
flecomte
fb9a8e2384
Rename class GameCommandRouteWebSocket
2025-04-14 23:39:46 +02:00
flecomte
804ccd785e
Add MDC to log4j
2025-04-14 23:39:46 +02:00
flecomte
ca95344ca9
Send Success notification when Command is executed
...
extract Action of the Commands
simplify somme classes
2025-04-14 23:39:45 +02:00
flecomte
a2f93d4edd
rename GameCommandRunner to GameCommandActionRunner
2025-04-14 23:39:45 +02:00
flecomte
7d06babdeb
Une exception on the command.run to notify the player instead on direct send
2025-04-14 23:39:44 +02:00
flecomte
5a5e7ab7cf
update java version
2025-04-14 23:39:44 +02:00
flecomte
b4234a9b37
update ktlint rules
2025-04-14 23:39:44 +02:00
flecomte
492981bed0
Split EventStream and EventStore
2025-04-14 23:39:43 +02:00
flecomte
23cc3e3567
Une modulo to create snapshot
...
fix removeSnapshot
2025-04-14 23:39:43 +02:00
flecomte
20a15f0182
update gradle versions
2025-04-14 23:39:42 +02:00
flecomte
91767e3747
Improve concurrence of ProjectionSnapshotRepositoryInMemory and GameEventHandler
2025-04-14 23:39:42 +02:00
flecomte
286dedac76
extract projection snapshot logic
...
implement GameStateRepositoryTest
add lambda to the GameEventHandler.handle{} to set the version
add VersionBuilder
add version to the events
add creation date to the events
rename gameId to aggregateId
add EventHandler interface
2025-04-14 23:39:41 +02:00
flecomte
d5b033e731
change validation on builder to error log
2025-04-14 23:39:41 +02:00
flecomte
28075feff2
create GameCommandRunner to extract business logic
2025-04-14 23:39:41 +02:00
flecomte
a2756d7fdb
Rename listeners
2025-04-14 23:39:40 +02:00