A CLI application to manage a board game collection. This project intentionally demonstrates bad design patterns for educational purposes (SRP violations, static state, mixed responsibilities).
- Java 21+
- Maven 3.9+
# On Linux/Mac
./run.sh games.json
# On Windows
run.bat games.json# Compile
./mvnw compile
# Run with JSON storage
./mvnw exec:java -Dexec.mainClass="fr.fges.Main" -Dexec.args="games.json"
# Run with CSV storage
./mvnw exec:java -Dexec.mainClass="fr.fges.Main" -Dexec.args="games.csv"make run ARGS=games.json./mvnw testThe application supports two storage formats:
- JSON (
.jsonextension) - CSV (
.csvextension)
The storage file is passed as a command-line argument at startup.
- Output Examples - Example CLI sessions