Skip to content

Add Casino Engine to gRPC Samples#145

Open
nekzabirov wants to merge 1 commit into
mehdihadeli:mainfrom
nekzabirov:add-casino-engine-grpc
Open

Add Casino Engine to gRPC Samples#145
nekzabirov wants to merge 1 commit into
mehdihadeli:mainfrom
nekzabirov:add-casino-engine-grpc

Conversation

@nekzabirov
Copy link
Copy Markdown

Summary

Adds nekzabirov/IGaming-Game-Engine to docs/grpc.md → Samples.

Why this fits

Casino Engine is a production-grade open-source iGaming/casino engine in Kotlin/Ktor with a real gRPC API:

  • `game.v1` proto with six services: GameService, CollectionService, ProviderService, AggregatorService, FreespinService, WinnerService
  • Published Kotlin gRPC client JAR (`com.nekgamebling:game-grpc-client`) for consumers
  • gRPC on a separate coroutine alongside Ktor HTTP, sharing the same Koin DI graph
  • `handleGrpcCall` interceptor wraps every method, mapping `DomainException` subtypes to gRPC status codes (`NotFoundException → NOT_FOUND`, `ConflictException → ALREADY_EXISTS`, etc.) and propagating the exception class name in an `x-exception-name` metadata header
  • Proto DTO conventions documented in `.claude/rules/proto-dto.md` — names, file layout, formatting rules

Current samples are mostly .NET-flavored; this adds a Kotlin/Ktor reference at production scale.

Production-tested on moonbet.casino and 2k.ua. Apache 2.0.

Checklist

  • Separate PR for this category
  • Format matches: `user/repo - Description`
  • Meaningful description

Production iGaming engine in Kotlin/Ktor with gRPC API (game.v1 proto,
six services) and published Kotlin client JAR.

Link: https://github.com/nekzabirov/IGaming-Game-Engine
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant