Chronos
Chronos je jednoduchá multiplayerová hra napsaná v Javě.
Hra je napsaná tak aby byla co nejvíce modulární. Více info o struktuře projektu zde.
Jak spustit
Backend
Backend je připraven k jednoduchému spuštění pomocí Docker Compose.
-
Ujistěte se, že máte nainstalovaný Docker a Docker Compose.
-
Ve složce
backend
spusťte následující příkaz:docker-compose up
-
Backend server bude automaticky spuštěn na portu
8080
a propojen s MySQL databází.
Není potřeba žádné další nastavení. Všechny potřebné služby a závislosti jsou definovány v souboru docker-compose.yml
.
Frontend
Frontend je Maven projekt, který lze snadno spustit pomocí následujících kroků:
-
Ujistěte se, že máte nainstalovanou Java 23 a Maven.
-
Ve složce
frontend
spusťte příkaz:mvn clean package
-
Po úspěšném sestavení spusťte frontend příkazem:
java -jar target/chronos-1.0-SNAPSHOT.jar
Technické specifikace
Backend
Backend je implementován jako HTTP server, který zpracovává všechny herní požadavky. Podporuje současný provoz více her a využívá SQL databázi k ukládání herních dat.
Technologie:
- Jazyk: Java
- Framework: Spring
- Databáze: Relační SQL databáze (např. MySQL)
Poznámka: Použití relační databáze nebylo ideální rozhodnutí. Já vím
Environmentální proměnné
Pro správnou funkci backendu je nutné nastavit následující environmentální proměnné pro připojení k databázi:
DATASOURCE_URL
: JDBC URL databáze (např.jdbc:mysql://localhost:3306/chronos
).DB_USERNAME
: Uživatelské jméno pro přístup k databázi (např.root
).DB_PASSWORD
: Heslo pro přístup k databázi (např.root
).
Poznámka: Tyto enviromentální proměnné jsou nastaveny automaticky pokud používáte Docker Compose pro spuštění backendu.
Frontend
Frontend je napsán ve Vanilla Javě a zajišťuje uživatelskou interakci.
Configurační soubor
Konfigurační soubor se automaticky ukládá do různých standardních lokací podle operačního systému:
- Unix-like systémy:
~/.config/Chronos/config.json
- Windows:
C:\Users\<username>\AppData\Chronos\config.json
- MacOS:
~/Library/Application Support/Chronos/config.json