Skip to content
This repository has been archived by the owner on Oct 26, 2023. It is now read-only.
/ IS23-AM10 Public archive
forked from mattteochen/IS23-AM10

Progetto Ingegneria del Software 2023

License

Notifications You must be signed in to change notification settings

frbuccoliero/IS23-AM10

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyShelfie - IS23AM10

Actions Status Coverage

MyShelfie

The project

This Java project is a porting of the boardgame MyShelfie by Cranio Creations. It was realized as final project of the Software Engineering course at Politecnico di Milano.

The team

Group 10 (Prof. Alessandro Margara)


Status of the work

Functionality Status
Basic rules
Complete rules
Socket connection
RMI connection
CLI
GUI
Multiple games
Persistence
Resilience
Chat

Legend

Symbol Functionality status
Completed
☑️ Planned, not started yet
🚧 Work in progress
Not planned to be implemented

How to Play

MyShelfie Box

Run the app with the following command line arguments:

  • --is-server to launch the app in server mode. (Default: false)
  • --show-gui to launch the client in GUI mode. If false launches the client in CLI mode. (Default: false) 🔶
  • --use-rmi to launch the client using RMI connection over Socket. (Default: false) 🔶
  • --debug to get verbose output in Client mode. Server mode always has verbose logging. (Default: false) 🔶
  • --address [ipv4] the address where client should look for a server. (Default: localhost) 🔶
  • --socket-port [1024-65535] the port where server should expose the socket/client should connect to. (Default: 9001)
  • --rmi-port [1024-65535] the port where server should expose the rmi registry/client should retrieve the stub. (Default: 9002)
  • --max-connections [0-10] the maximum number of clients who can connect to the server. (Default: 8) 🔷
  • --keep-alive [bool] to set socket keepalive function. (Default: true) 🔷
  • --max-player-inactive-ms to set the max time in milliseconds after a player gets kicked out for inactivity (Default: 120000 =2 min ) 🔷

🔶 = Command only works in client mode. Will be ignored if launched in server mode.

🔷 = Command only works in server mode. Will be ignored if launched in client mode.


Development

Project works fine as a stand-alone Maven project.

Generate Jacoco test coverage report

To generate test coverage report launch JaCoCo with the following command from <REPOSITORY_DIRECTORY>/is23am10:

mvn clean jacoco:prepare-agent install jacoco:report

or use the button under "Favorites" in your Maven left-side panel if you use the VSCode dev container.

Generate Javadoc

Use the command mvn javadoc:javadoc to generate the HTML. You'll find the artifact in target/site/apidocs.

Legal

My Shelfie è un gioco da tavolo sviluppato ed edito da Cranio Creations Srl. I contenuti grafici di questo progetto riconducibili al prodotto editoriale da tavolo sono utilizzati previa approvazione di Cranio Creations Srl a solo scopo didattico. È vietata la distribuzione, la copia o la riproduzione dei contenuti e immagini in qualsiasi forma al di fuori del progetto, così come la redistribuzione e la pubblicazione dei contenuti e immagini a fini diversi da quello sopracitato. È inoltre vietato l'utilizzo commerciale di suddetti contenuti.

The software is released under MIT License, see LICENSE.

About

Progetto Ingegneria del Software 2023

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 64.0%
  • Java 33.0%
  • JavaScript 2.8%
  • CSS 0.2%