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
master-branch (alias stable, latest)
develop-branch (alias nightly)
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.
What things you need to install the software and how to install them
- Oracle JDK 8
- JetBrains IntelliJ IDEA (Preferred)
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
.
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):
Import Project
- Select the directory of the downloaded project
[OK]
(o) Import project from external model
Gradle
[Finish]
In the popup that appears on the bottom right:
Import Gradle Project
(On Windows) If a message appears concerning "Windows Defender might be impacting your build performance":
Fix...
->Configure Automatically
Through the terminal
./gradlew :lib:check
./gradlew :client:check
./gradlew :server:check
Through IntelliJ
- Click on the "Gradle" Tab on the top right
- Go to:
fhnw-jass
->client
(orserver
) ->Tasks
->verification
->check
and double-click.
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
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.
- Java - Programming Language
- Gradle - Dependency Management
- JUnit5 - Testing the Java Code
- SQLite3 - Data Storage
- ORMLite - ORM for Data Storage
- JSON - Data Model for Transmission between Server <-> Client
- Apache Commons Cli - Handle CLI arguments
- Apache Log4J - Handle logging uniquely
- JFoenix - Theme for the GUI
- Github Actions - Automatic CI (Testing) / CD (Deployment)
- Docker - Building a Container for the Server
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
- 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.
This project is licensed under the GNU General Public License v3.0 - see the LICENSE.txt file for details.
- Hat tip to anyone whose code was used
- Inspiration
- etc