Skip to content

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.

10k Architecture Overview

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

Sequence Diagram

Modules

The application has three modules.

  • Client: The command line program used to play a game of chess over the network.
  • Server: The command line program that listens for network requests from the client and manages users and games.
  • Shared: Code that is used by both the client and the server. This includes the rules of chess and tracking the state of a game.

Starter Code

As you create your chess application you will move through specific phases of development. This starts with implementing the moves of chess and finishes with sending game moves over the network between your client and server. You will start each phase by copying course provided starter-code for that phase into the source code of the project. Do not copy a phases' starter code before you are ready to begin work on that phase.

IntelliJ Support

Open the project directory in IntelliJ in order to develop, run, and debug your code using an IDE.

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

BYU CS 240 course project starter code

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages