AlessandroVacca / ing-sw-2022-preatoni-sarrocco-vacca

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Final Project of Software Engineering

picture

Grade: 30 cum laude

Getting Started

Java implementation of the table game Eriantys by the italian company Cranio Creations as part of the Bachelor of Science thesis. This is formally part of the Software Engineering course at Politecnico di Milano (A.Y. 2021 / 2022). The aim of this project is the design and realization of a distributed client-server software based on object-oriented programming, using the MVC (Model-View-Controller) design model.

More information about the game can be found here

Requirements

  • The game requires Java 17 to run.
  • In order to properly display the CLI client an UTF-8 and ANSI colors compatible shell is needed.
  • To build the project, Maven is required.

Features

The features we have realized are listed as follows:

  • Base rules ☑️
  • Complete rules ☑️
  • Socket ☑️
  • CLI ☑️
  • GUI ☑️
  • Additional feature - 12 character cards ☑️
  • Additional feature - Multiple games ☑️
  • Additional feature - Disconnection recovery ☑️

Building the project

  • The project is build as an Uber-jar that is comprehensive of CLI, GUI and Server.
  • The executable provides a small launcher with all the options, no arguments are needed to run it. After cloning the repo, build the project by running:
cd ing-sw-2022-preatoni-sarrocco-vacca
mvn clean package

You will find the output jar in the newly created "target" folder with the name GC30-1.0-SNAPSHOT-jar-with-dependencies.jar.

Running the executable

To run the jar executable just issue this command in the console:

java -jar GC30-1.0-SNAPSHOT-jar-with-dependencies.jar

Sidenote for Apple Silicon macOS users

For AArch64-based Macs we have provided a specific jar. This is due to a JavaFX dependency conflict, as explained here.

Sidenote for Windows users

On Windows, if don't plan on using the Windows Terminal app, in order to properly display the CLI client you should enable the console UTF-8 character encoding beta feature.

Docs

In this section you will find all the documentation regarding the project:

UML diagrams

JavaDoc

You can find our JavaDocs in the following link

Peer Reviews

Tests with Coverage

This is an image

Built with

Libraries e Plugins

Libraries/Plugin Description
maven Project management tool that is based on POM (project object model)
junit Unit testing framework for the Java programming language
JavaFx Java set of graphics and media packages
UML-Generator Usefull plugin for autogenerate UML by the source code
Lucidchart UML drawing tool

List of Authors:

About


Languages

Language:HTML 85.0%Language:Java 14.2%Language:CSS 0.5%Language:JavaScript 0.4%