Skip to content

FedericaPaoli1/TheHangman

Repository files navigation

TheHangman

Build Status Coverage Status Quality Gate Status

TheHangman is a project developed for the Advanced Techniques and Tools for Software Development (AATSW) exam. It implements the classic paper and pencil guessing game, called The Hangman.

Getting Started

Prerequisites

Docker service is required

Installing

Once you've cloned the repository into your local machine, run the following command from the root directory of the project:

docker build -t <image-name> .

This command creates a Docker MySql image, named <image name>, containing a default database, called HangmanDB. Now, to create the final jar, run:

./mvnw -f thehangman-aggregator/pom.xml package -Papp

or you can run the following, without tests:

./mvnw -f thehangman-aggregator/pom.xml package -Papp -Dmaven.test.skip=true

Before running the jar, make sure to start the MySql Docker image, previously created:

docker run --rm -it --name <MySql-container-name> -p <your-port>:3306 -e MYSQL_ROOT_PASSWORD=<your-password> -d <image-name>

You can run the jar with the following command:

java -jar thehangman-app/target/thehangman-app-0.0.1-SNAPSHOT-jar-with-dependencies.jar \
  --mysql-port=<your-port> \
  --mysql-password \
  mode=<[graphical|terminal]>

Running the tests

Unit Tests

./mvnw -f thehangman-aggregator/pom.xml clean test 

Integration Tests

./mvnw -f thehangman-aggregator/pom.xml clean verify

E2E Tests

./mvnw -f thehangman-aggregator/pom.xml clean verify -Papp

Mutation Tests

./mvnw -f thehangman-aggregator/pom.xml clean verify -Pjacoco,mutation-testing

Code Coverage

Reports available on folder thehangman-report/target/site/jacoco-aggregate

./mvnw -f thehangman-aggregator/pom.xml clean verify -Pjacoco

Authors

  • Federica Paolì
  • Stefano Taverni

About

AATSW exam project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages