Commit Graph

36 Commits

Author SHA1 Message Date
lq64 e73b6a7514 feat: NCS-52 Rules as a microservice (#36)
Build & Test (NowChessSystems) TeamCity build finished
Implemented module rules as a microservice.
## Summary

   - Adds Quarkus to the `rule` module, making it independently deployable as a standalone microservice on port 8081
   - Exposes all `RuleSet` methods via a REST API at `/api/rules` (candidate moves, legal moves, check/checkmate/stalemate/draw detection, apply
   move)
   - Introduces DTOs and a `DtoMapper` for serializing/deserializing chess types (board, moves, game context) as flat JSON strings
   - Adds `JacksonConfig` for Scala module registration and an `application.yml` for the rule service
   - Includes Dockerfiles for JVM, legacy-jar, native, and native-micro targets
   - Full test coverage: 17 `@QuarkusTest` HTTP-level tests + 29 `DtoMapper` unit tests (100% condition coverage)

   ## Test plan

   - [ ] `./compile` — all modules build successfully
   - [ ] `./test` — all tests pass (rule module: 107 tests total)
   - [ ] `./coverage` — 100% condition coverage in `rule` module
   - [ ] Rule service runs standalone: `./gradlew :modules:rule:quarkusDev` starts on port 8081
   - [ ] `GET /api/rules/candidate-moves` returns valid moves for initial position
   - [ ] `GET /api/rules/is-check` returns `false` for initial position

Co-authored-by: LQ63 <lkhermann@web.de>
Co-authored-by: Janis <janis-e@gmx.de>
Reviewed-on: #36
Co-authored-by: Leon Hermann <lq@blackhole.local>
Co-committed-by: Leon Hermann <lq@blackhole.local>
2026-04-22 09:29:15 +02:00
TeamCity 3b1e4451d6 ci: bump version with Build-47 2026-04-22 07:10:42 +00:00
TeamCity 437c936467 ci: bump version with Build-46
Build & Push Native Image / check-actor (push) Has been cancelled
Build & Push Native Image / build-and-push (core) (push) Has been cancelled
Build & Push Native Image / build-and-push (io) (push) Has been cancelled
2026-04-22 06:51:59 +00:00
Janis fb5c61de63 fix: IO microservice (#38)
Build & Test (NowChessSystems) TeamCity build finished
Build & Push Native Image / check-actor (push) Has been cancelled
Build & Push Native Image / build-and-push (core) (push) Has been cancelled
Build & Push Native Image / build-and-push (io) (push) Has been cancelled
Reviewed-on: #38
2026-04-22 08:36:54 +02:00
TeamCity b4d197a9b2 ci: bump version with Build-45 2026-04-21 13:49:26 +00:00
TeamCity d7f7c37111 ci: bump version with Build-44 2026-04-21 11:13:30 +00:00
Janis 5ad5efb41e feat: NCS-37 Quarkus integration (#35)
Build & Test (NowChessSystems) TeamCity build failed
Reviewed-on: #35
Reviewed-by: Leon Hermann <lq@blackhole.local>
2026-04-21 12:35:20 +02:00
TeamCity f215ec681a ci: bump version with Build-43 2026-04-19 20:53:56 +00:00
TeamCity 2e4c7549b5 ci: bump version with Build-42 2026-04-19 14:01:11 +00:00
Janis dceab0875e feat: NCS-41 Bot Platform (#33)
Build & Test (NowChessSystems) TeamCity build finished
Co-authored-by: Janis <janis@nowchess.de>
Reviewed-on: #33
Co-authored-by: Janis <janis.e.20@gmx.de>
Co-committed-by: Janis <janis.e.20@gmx.de>
2026-04-19 15:52:08 +02:00
TeamCity 5f4d33f3ca ci: bump version with Build-41 2026-04-16 16:55:00 +00:00
Janis 767d3051a7 feat: NCS-13 Implement Threefold Repetition (#31)
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #31
2026-04-16 18:49:20 +02:00
TeamCity b2e62dc60c ci: bump version with Build-40 2026-04-14 19:23:01 +00:00
Janis b0399a4e48 feat: NCS-14 implemented insufficient moves rule (#30)
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #30
Co-authored-by: Janis <janis.e.20@gmx.de>
Co-committed-by: Janis <janis.e.20@gmx.de>
2026-04-14 21:17:56 +02:00
TeamCity ec2ab2f365 ci: bump version with Build-39 2026-04-12 19:03:52 +00:00
Janis fd4e67d4f7 feat: NCS-25 Add linters to keep quality up (#27)
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #27
Reviewed-by: Leon Hermann <lq@blackhole.local>
Co-authored-by: Janis <janis.e.20@gmx.de>
Co-committed-by: Janis <janis.e.20@gmx.de>
2026-04-12 20:58:39 +02:00
TeamCity 47032378e2 ci: bump version with Build-31 2026-04-07 06:25:56 +00:00
Janis 8f56a82104 refactor: NCS-22 NCS-23 reworked modules and tests (#17)
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #17
2026-04-06 09:07:39 +02:00
TeamCity 51ffd7aac9 ci: bump version with Build-28 2026-04-03 09:09:16 +00:00
TeamCity 45013c87a9 ci: bump version with Build-27 2026-04-02 19:15:54 +00:00
Janis 80518719d5 feat: NCS-21 Write Scripts to automate certain tasks (#15)
Build & Test (NowChessSystems) TeamCity build finished
Co-authored-by: shahdlala66 <shahd.lala66@gmail.com>
Reviewed-on: #15
Co-authored-by: Janis <janis.e.20@gmx.de>
Co-committed-by: Janis <janis.e.20@gmx.de>
2026-04-02 21:11:21 +02:00
TeamCity 2d6ead7e47 ci: bump version with Build-26 2026-04-01 20:53:08 +00:00
TeamCity 9fb743d135 ci: bump version with Build-25 2026-04-01 08:40:41 +00:00
TeamCity 8bbeead702 ci: bump version with Build-24 2026-04-01 07:17:44 +00:00
TeamCity 85cbf95c18 ci: bump version with Build-22 2026-03-31 08:35:28 +00:00
TeamCity 707c4826a4 ci: bump version with Build-21 2026-03-29 15:10:35 +00:00
TeamCity 5f485fed9b ci: bump version with Build-19 2026-03-28 17:12:54 +00:00
Janis f4c18d22d7 refactor: NCS-8 removed Context and replaced it with History (#6)
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #6
2026-03-28 18:08:55 +01:00
TeamCity 4d800e88eb ci: bump version with Build-18 2026-03-28 12:39:59 +00:00
TeamCity 9190d1e5a0 ci: bump version with v17%
Build & Test (NowChessSystems) TeamCity build finished
2026-03-27 09:25:13 +00:00
Janis b4116e9a82 test: add unit tests for API response, board, color, game state, move, piece, and square (#3)
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #3
2026-03-25 08:19:43 +01:00
Janis 551e08cef3 build: migrate to ScalaTest and Scoverage, replacing JaCoCo across modules 2026-03-22 15:28:02 +01:00
Janis 5a21e57ca9 chore: Update build configuration for Scoverage and ScalaTest integration 2026-03-22 14:19:44 +01:00
Janis a8abd69e0e chore: Add initial implementation of move validation logic and game controller 2026-03-21 21:26:37 +01:00
Janis 1f1d3b670f chore: Refactor chess logic to MVC pattern and enhance board representation 2026-03-21 20:37:33 +01:00
Janis 9c2456e928 chore: Set up shared-models library and initial project structure for NowChessSystems 2026-03-21 17:07:28 +01:00