This project demonstrates mastery of proper software design, client/server architecture, networking using HTTP and WebSocket, database persistence, unit testing, serialization, and security.
10k Architecture Overview
The application implements a multiplayer chess server and a command line chess client.
IntelliJ Support
Open the project directory in IntelliJ in order to develop, run, and debug your code using an IDE.
Maven Support
You can use the following commands to build, test, package, and run your code.
Command
Description
mvn compile
Builds the code
mvn package
Run the tests and build an Uber jar file
mvn package -DskipTests
Build an Uber jar file
mvn install
Installs the packages into the local repository
mvn test
Run all the tests
mvn -pl shared test
Run all the shared tests
mvn -pl client exec:java
Build and run the client Main
mvn -pl server exec:java
Build and run the server Main
These commands are configured by the pom.xml (Project Object Model) files. There is a POM file in the root of the project, and one in each of the modules. The root POM defines any global dependencies and references the module POM files.
Running the program using Java
Once you have compiled your project into an uber jar, you can execute it with the following command.