Dieses Projekt basiert auf einem lernorientierten Ansatz, bei dem die während der Vorlesungen erlernte Theorie direkt in einem praktischen Projekt angewendet wird. In diesem Semester besteht das Projekt darin, eine webbasierte Online-Plattform zum Schachspielen gegen einen Computergegner oder andere menschliche Mitspieler zu entwickeln.
## Systemvoraussetzungen und Setup
Um das Projekt zu starten, benötigen Sie eine Programmierumgebung, Node.js und einige Pakete. Darüber hinaus ist es notwendig, sich im Netzwerk der Universität zu befinden oder über VPN verbunden zu sein, um die volle Funktionalität des Schachspiels nutzen zu können. Befolgen Sie die nachstehenden Schritte zur Vorbereitung:
1.**Node Version Manager (NVM):**
Zur Verwaltung verschiedener Node.js-Versionen wird NVM verwendet.
-**Linux:**
[Installationsanleitung für NVM](https://github.com/nvm-sh/nvm#installing-and-updating)
[NVM für Windows](https://github.com/coreybutler/nvm-windows/releases)
Verwenden Sie den neuesten Release-Installer (z.B. `nvm-setup.exe`).
2.**Node.js installieren:**
Installieren Sie die neueste LTS-Version von Node.js:
- Linux:
```
nvm install 20 --lts
nvm use 20
```
- Windows:
```
nvm install lts
nvm use lts
```
3.**Nodemon:**
Installieren Sie außerdem nodemon mit dem folgenden Befehl:
```
npm install -g nodemon
```
Nodemon startet Ihre Node.js-Anwendung automatisch neu, wenn eine Datei geändert wird.
Alternativ können Sie über `rs` nodemon neu starten.
4.**Express.js:**
Führen Sie noch folgende Befehle aus:
```
cd <Projektordner>
npm install
nodemon start
```
Öffnen Sie Ihren Browser und besuchen Sie [`http://localhost:3000/`](http://localhost:3000/). Wenn alles korrekt eingerichtet ist, sollte die Startseite erscheinen.
### Zugang zum Universitätsnetzwerk
Um auf bestimmte für das Projekt notwendige Ressourcen zugreifen zu können, müssen Sie entweder physisch im Uni-Netz sein oder eine VPN-Verbindung zur Universität herstellen. Eine detaillierte Anleitung zur Einrichtung einer VPN-Verbindung finden Sie unter: [VPN-Anleitung der TU Chemnitz](https://www.tu-chemnitz.de/urz/network/access/vpn.html#eduvpn).
## Features
- Schachspiel im Einzelspielermodus gegen einen Bot.
- Zwei-Spieler-Modus am gleichen PC.
- Anzeigen möglicher Züge, wenn eine eigene Figur angeklickt wird.
- Möglichkeit, das Spiel neu zu starten.
- EINEN Zug zurücknehmen.
- Zug vorschlagen.
- Live-Chat.
## Beitrag
Da es sich um ein projektbegleitendes Lehrveranstaltungsprojekt handelt, arbeite ich alleine daran.
## Lizenz
Das Projekt wird im Rahmen der Lehrveranstaltung "Entwurf Verteilter Systeme" durchgeführt. Die Lizenzierung ist nicht spezifiziert.