Commit Graph

55 Commits

Author SHA1 Message Date
12af6604d6 create a websocket route to create and join a game 2025-04-14 23:39:53 +02:00
c3155da23c Create route to list all the games 2025-04-14 23:39:52 +02:00
8074881d57 Move GameStateRepository 2025-04-14 23:39:51 +02:00
1a96c68521 Add AggregateID for the PlayerNotificationEventListener and CommandHandler 2025-04-14 23:39:50 +02:00
1d70f73061 restrict numeric card number to 0..9 2025-04-14 23:39:49 +02:00
48ac4156bd change cardOnCurrentStack on lastCardPlayer 2025-04-14 23:39:49 +02:00
3434d43fc2 move secrete into config file 2025-04-14 23:39:48 +02:00
4adfc6467c Split configs 2025-04-14 23:39:48 +02:00
769d104040 Move file and add interface to improve Archi Hexa 2025-04-14 23:39:47 +02:00
4739495980 Rename file DeclareWebSocketsGameRoute 2025-04-14 23:39:47 +02:00
fb9a8e2384 Rename class GameCommandRouteWebSocket 2025-04-14 23:39:46 +02:00
804ccd785e Add MDC to log4j 2025-04-14 23:39:46 +02:00
ca95344ca9 Send Success notification when Command is executed
extract Action of the Commands
simplify somme classes
2025-04-14 23:39:45 +02:00
a2f93d4edd rename GameCommandRunner to GameCommandActionRunner 2025-04-14 23:39:45 +02:00
7d06babdeb Une exception on the command.run to notify the player instead on direct send 2025-04-14 23:39:44 +02:00
b4234a9b37 update ktlint rules 2025-04-14 23:39:44 +02:00
492981bed0 Split EventStream and EventStore 2025-04-14 23:39:43 +02:00
23cc3e3567 Une modulo to create snapshot
fix removeSnapshot
2025-04-14 23:39:43 +02:00
20a15f0182 update gradle versions 2025-04-14 23:39:42 +02:00
91767e3747 Improve concurrence of ProjectionSnapshotRepositoryInMemory and GameEventHandler 2025-04-14 23:39:42 +02:00
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
d5b033e731 change validation on builder to error log 2025-04-14 23:39:41 +02:00
28075feff2 create GameCommandRunner to extract business logic 2025-04-14 23:39:41 +02:00
a2756d7fdb Rename listeners 2025-04-14 23:39:40 +02:00
c84aa7e0c1 CommandStreamChannel block the duplicate call
add GameCommandHandlerTest
Create a CommandStreamChannelBuilder to inject maxCacheTime
Add missing empty disabled test
fix EventStreamInMemory.readAll
2025-04-14 23:39:40 +02:00
0fbea7903a create a FrameChannelConverter 2025-04-14 23:39:39 +02:00
c84562afe6 Move serializer 2025-04-14 23:39:39 +02:00
6028846828 Improve concurrency
Fix GameState.currentPlayerTurn and nextPlayer
Add ItsTheTurnOfNotification
Improve test
2025-04-14 23:39:38 +02:00
3a685496fd Add GameStateRepository.getUntil(event)
Add Cache and Snapshot to the GameStateRepository
Add eventId on events
2025-04-14 23:39:38 +02:00
19e425d684 Create GameStateRepository
Use GameState.apply() to build Projection
Create GameEventHandler
Add PlayerWinEvent
2025-04-14 23:39:38 +02:00
51d857513c Create test for complete game
create notifications for reply the players
implement notifications on GameEventPlayerNotificationListener
add priority to the eventbus.subscribe()
improve JWT creation
update libs koin + ktor
remove output of GameCommandStream
improve logs
create a function disableShuffleDeck to disable the shuffle of the deck (for tests)
2025-04-14 23:39:36 +02:00
99f0760d3c Clean and fix 2025-04-14 23:39:36 +02:00
d84e8359c9 CommandStreamChannelTest 2025-04-14 23:39:35 +02:00
c50127ba1b PlayersHands class 2025-04-14 23:39:35 +02:00
fd78bfa4d0 Stack and Discard class 2025-04-14 23:39:35 +02:00
7043e1c6e7 Deck tests 2025-04-14 23:39:34 +02:00
729e7f6adc PlayerHand test 2025-04-14 23:39:34 +02:00
b6908cc712 create ICantPlayCommand
+ move canBePlayThisCard
2025-04-14 23:39:33 +02:00
32472018d4 players hands and deck is modify on PlayerHavePassEvent & CardIsPlayedEvent events 2025-04-14 23:39:33 +02:00
4b6eaaf58c move login from state to Command 2025-04-14 23:39:33 +02:00
84615dec36 create IWantToJoinTheGameCommand 2025-04-14 23:39:32 +02:00
a4e83f7357 extract action command 2025-04-14 23:39:32 +02:00
bc35131bfc add IamReadyToPlayCommand & refactoring 2025-04-14 23:39:31 +02:00
06443d7efa refactoring 2025-04-14 23:39:31 +02:00
f3ca94c97e create bus and subscriber 2025-04-14 23:39:30 +02:00
a6847353b2 Rename HttpInput to HttpRoute 2025-04-14 23:39:30 +02:00
299ebff88b Refactor app configuration 2025-04-14 23:39:30 +02:00
de3d4a1021 Add Comments 2025-04-14 23:39:29 +02:00
ae5c229e4b Refactor 2025-04-14 23:39:29 +02:00
03ba14d918 update ktlint 2025-04-14 23:39:28 +02:00