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.

  1. Ujistěte se, že máte nainstalovaný Docker a Docker Compose.

  2. Ve složce backend spusťte následující příkaz:

    docker-compose up
    
  3. 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ů:

  1. Ujistěte se, že máte nainstalovanou Java 23 a Maven.

  2. Ve složce frontend spusťte příkaz:

    mvn clean package
    
  3. 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
Description
No description provided
Readme 351 KiB
Languages
Java 99.6%
Dockerfile 0.4%