This project demonstrates mastery of proper software design, client/server architecture, networking using HTTP and WebSocket, database persistence, unit testing, serialization, and security.
The application implements a multiplayer chess server and a command line chess client.
Open the project directory in IntelliJ in order to develop, run, and debug your code using an IDE.
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 tests |
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.
Once you have compiled your project into an uber jar, you can execute it with the following command.
java -jar client/target/client-jar-with-dependencies.jar
♕ 240 Chess Client: chess.ChessPiece@7852e922