Skip to content
/ chess Public

Repository for the BYU C S 240 Advanced Software Construction Course Chess Project

License

Notifications You must be signed in to change notification settings

cprice11/chess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

♕ BYU CS 240 Chess

This project demonstrates mastery of proper software design, client/server architecture, networking using HTTP and WebSocket, database persistence, unit testing, serialization, and security.

Phases

  • phase - 0
  • phase - 1
  • phase - 2
  • phase - 3
  • phase - 4
  • phase - 5
  • phase - 6

Architecture Overview

The application implements a multiplayer chess server and a command line chess client.

Sequence Diagram

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.

java -jar client/target/client-jar-with-dependencies.jar

♕ 240 Chess Client: chess.ChessPiece@7852e922

About

Repository for the BYU C S 240 Advanced Software Construction Course Chess Project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages