Skip to content

gameofjess/Jess

Repository files navigation

JavaChess

Java CI with Maven

About

Jess (short for JavaChess) is a chess game written in Java. It was made for a uni project for the module "Software Development 2" in the second semester of the course "BSc Medieninformatik" (engl.: "Computer Science and Media") at Hochschule der Medien / Stuttgart Media University.

Screenshots can be found here.

How to build and use

Dependencies

For building this project you need to have maven and java installed. Depending on your operating system, steps may vary. Therefore, the below installation instructions might not apply.

Debian:

$ sudo apt update && sudo apt install -y maven openjdk-17-jre

Other debian-based distributions may be similar, but that's untested.

Fedora:

$ sudo dnf install -y maven java-17
$ sudo dnf install -y maven-openjdk-17 --allowerasing

The building process

After cloning the repository you may run the following command within the project's folder:

mvn package -DskipTests

After the process of building, you should find the built jar-file in the folder target. When the project proceeds to usuable state, we'll also provide prebuilt jars.

How to use

To start the client application you may run the following command:

java -jar JavaChess-0.1.jar

However, if you intend to host a dedicated server there are a few advanced features.

  • -s: Start a dedicated server.
  • -p <port>: Choose a port for the server to listen on.
  • -H <hostname>: Choose a hostname for the server to listen on.

When using a dedicated server there are commands you can run to monitor the running server and manipulate its operation:

  • stop: Stop the server.
  • start: Start the server after it has been stopped.
  • restart: Restart the server.
  • list: Show the players' name.
  • exit: Exit the program. We advice to only run this command when the server is already stopped.

How to generate javadoc documentation

This program will be fully documented using javadoc. To generate the javadoc-files you may navigate to the project folder and run the following command:

mvn javadoc:javadoc

Using the optional flag -Dshow=private will add information about private methods to the generated javadoc-files.

Configuration

Configuration is described here: CONFIG.md

Dependencies

Runtime dependencies

Dependency Creator License
Java-WebSocket TooTallNate and contributors MIT License
JavaFX Oracle / OpenJDK-Community GPLv2, Classpath Exception
gson Google Apache License 2.0
log4j2 The Apache Software Foundation Apache License 2.0
Apache Commons Collections The Apache Software Foundation Apache License 2.0

Testing dependencies

Dependency Creator License
JUnit Framework JUnit-Team Eclipse Public License v2.0
Mockito Framework Szczepan Faber and contributors MIT License
Awaitility Johan Haleby and contributors Apache License 2.0

Resources

Dependency Creator License
Chess Pieces Colin M.L. Burnett GPLv2+

Copyright

JavaChess (c) 2022 Max Knerrich, Kay Knöpfle, Benjamin Mehl, Lucca Greschner

SPDX-License-Identifier: GPL-3.0

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages