Poker Server Overview

This is a sandbox environment for experimenting with Spring to implement a poker server for use as a "remote" home game. There are surprisingly few choices out there to simulate a private home game. This project is an attempt to scratch that itch while giving us an excuse to study WebSockets, Loom, and structured concurrency. The plan is to implement a server first and then build (or recruit someone to build) a client using something like React or Angular?

This project is built with Java 20 and you will need to have a Java 20 JDK installed on your machine. I recommend https://sdkman.io/ for managing your Java installations. This project provides a docker-compose file for starting up a mongo server within a docker container.

There is a primitive command-line client that can be used to interact with the server. This client is built with spring shell. It is not pretty, but it does allow you log in and issue commands to the server.

  1. Start the Mongo database (from the root directory of the poker-server) via docker-compose up

  2. Build and run the server (from the root directory of the server) via ./mvnw clean spring-boot:run

  3. Build and run the client (from the root directory of the client) via ./mvnw clean spring-boot:run

  4. Use the client to login anonymously and register a new user and then register a new admin user:

connect-with-user anonymous anomymous
register-user admin admin admin@myemail.com "Admin User" "123-456-7890"
connect-with-user admin admin