Hintergrund / Motivation

Das Casino-Projekt stellt eine umfassende Online-Gaming-Plattform dar, die Schülern Erfahrung in moderner Webentwicklung vermittelt. Durch die Integration verschiedener Casino-Spiele entsteht eine komplexe Anwendung mit Echtzeit-Kommunikation, Benutzerverwaltung und Spiellogik, die realistische Anforderungen an Full-Stack-Entwicklung simuliert.

Beschreibung

Die Plattform bietet Benutzern die Möglichkeit, sich über das Keycloak der Schule zu registrieren und anzumelden, wobei ein Sicherheitssystem mit Audit-Logging alle Aktivitäten überwacht. Spieler können verschiedene Casino-Spiele wie Roulette, Blackjack, Poker und Slots spielen, dabei virtuelle Coins verdienen oder verlieren und ihren Fortschritt auf einer globalen Bestenliste verfolgen. Ein globales Chat-System ermöglicht die Echtzeit-Kommunikation zwischen Spielern. Administratoren können User-Verwaltung durchführen, Coins vergeben/anpassen und alle Aktivitäten im Audit-Log einsehen. Die Software demonstriert professionelle Praktiken wie asynchrone Task-Verarbeitung, erweiterbares Game-Engine-System und umfassende Fehlerbehandlung.

Technologien
Programmiersprachen:
  • Java
  • JavaScript / TypeScript
Frontend:
  • React mit Vite
  • ESLint für Code-Qualität
  • Responsive UI mit modernem Design
Backend:
  • Spring Boot
  • Spring Security mit OAuth2
  • Spring WebSocket
  • H2-Datenbank
  • Azure Foundry
  • Async Task-Processing
  • OpenRouter AI Integration
  • MCP und RAG
IDE / Tools:
  • Visual Studio Code
  • IntelliJ IDEA
  • Maven
  • Git
  • Docker
Projektinfo
Schuljahr:
25/26
Schüler:
  • Dominik Schuhbaum
  • Thomas Schariri
  • Yannick Pöschl
  • Simon Kröninger
  • Simon Altschäffl
Betreuer:
Herr Klaus Krieger
Bilder
Wir benutzen Cookies

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.