Skip to content

FHNW-Dream-Team/jass

Repository files navigation

fhnw-jass

As part of the IT-Project course in the FHNW Basel, four students, which are mentioned in the authors section of this document, created this game.

Project

License Docker Stars Docker Pulls

master-branch (alias stable, latest)

GH Action CI/CD Codacy grade

develop-branch (alias nightly)

GH Action CI/CD Codacy grade

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

What things you need to install the software and how to install them

User environment prerequisites

Developer environment prerequisites

Installing (the client)

User environment installation

After having installed Java 8, you have to download the latest client software under the releases page, or click on this link.

The package you just downloaded needs to be unpacked now.

Go to jass/bin/ and in there you will find two files. If you are on a linux system double-click client otherwise (Windows) double-click on client.bat.

Developer environment installation

Get the project (through the console):

git clone https://github.com/D3strukt0r/fhnw-jass.git

In case you want to change to the develop branch for the latest and greatest:

git checkout develop

Now import the project to IntelliJ (from the start screen):

  1. Import Project
  2. Select the directory of the downloaded project
  3. [OK]
  4. (o) Import project from external model
  5. Gradle
  6. [Finish]

In the popup that appears on the bottom right:

  1. Import Gradle Project

(On Windows) If a message appears concerning "Windows Defender might be impacting your build performance":

  1. Fix... -> Configure Automatically

Running the tests

Through the terminal

./gradlew :lib:check
./gradlew :client:check
./gradlew :server:check

Through IntelliJ

  1. Click on the "Gradle" Tab on the top right
  2. Go to: fhnw-jass -> client (or server) -> Tasks -> verification -> check and double-click.

Deployment (of the server)

Docker

This project uses Docker for easy deployment of the server(!).

Therefore, you can use a docker-compose.yml file and then run docker-compose up -d

version: "2"

services:
  jass:
    image: d3strukt0r/fhnw-jass
    restart: on-failure
    command: --ssl --verbose
    ports:
      - 2000:2000
    volumes:
      - ./data:/app/data

Or just s simple command: docker run -p 2000:2000 -v ./data:/app/data d3strukt0r/fhnw-jass

For more example check the wiki page

.jar file

After having installed Java 8, you have to download the latest server software under the releases page, or click on this link for the compressed .zip or here for only the .jar.

If you downloaded the package, you have to unpack it first.

Go to jass-server/bin/ and in there you will find two files. If you are on a linux system double-click server otherwise (Windows) double-click on server.bat.

If you downloaded the jar file only:

Go to the console and enter enter java -jar server.jar in the command line.

Built With

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Manuele Vaccari - D3strukt0r - Initial work, Basic Client and Server App (Server connection, Login, Register, Change Password, Delete Account, Logout), JSON Messaging, CI/CD setup, Game configuration, Validate moves, Find winner
  • Victor Hargrave - jokerengine - Create a deck, Display deck, Make move, Round over
  • Sasa Trajkova - sasatrajkova - Lobby design, Game design
  • Thomas Weber - tjw52 - Game finder, Game creation, Initialize new game

See also the list of contributors who participated in this project.

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE.txt file for details.

Acknowledgments

  • Hat tip to anyone whose code was used
  • Inspiration
  • etc