|
|
@@ -0,0 +1,35 @@
|
|
|
+# 🏆 EXIT-Game Highscore & Sammlungs-Manager
|
|
|
+
|
|
|
+Ein modernes, PHP-basiertes Dashboard zur Verwaltung von EXIT-Spielen, Adventure Games und anderen Rätselspielen. Tracke Highscores, verwalte den Besitzstatus deiner Teams und behalte den Überblick über deine gesamte Sammlung.
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 🤖 Über dieses Projekt
|
|
|
+Dieses gesamte Projekt wurde zu **100% von Gemini (KI-Modell von Google)** im Rahmen eines interaktiven Pair-Programming-Prozesses generiert.
|
|
|
+
|
|
|
+**Entwicklungs-Philosophie:**
|
|
|
+- **Code-Struktur:** Trennung von Logik und Konfiguration (Git-ready).
|
|
|
+- **Design:** Modernes Dark-Mode UI mit Fokus auf Usability (Swiper.js Integration).
|
|
|
+- **Sicherheit:** Passwortgeschützter Admin-Bereich und Prepared Statements (PDO).
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 🚀 Features
|
|
|
+- **Interaktives Dashboard:** Swiper-Carousel mit den neuesten Spielen und Highscores.
|
|
|
+- **Bestandsverwaltung:** Matrix-Ansicht (`besitz.php`), um zu tracken, welches Team welches Spiel besitzt, nicht besitzt oder bereits verkauft hat.
|
|
|
+- **Admin-Panel:** Passwortgeschützter Bereich zum Anlegen von Spielen, EAN-basiertem Bild-Download und Verwaltung von Spielertypen.
|
|
|
+- **Gesamtliste:** Sortierbare und filterbare Übersicht aller Spiele inklusive Bestwerten und Besitzstatus.
|
|
|
+- **Automatisierung:** Automatischer Download von Cover-Bildern über bereitgestellte URLs.
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 🛠 Installation
|
|
|
+
|
|
|
+1. **Datenbank vorbereiten:**
|
|
|
+ Erstelle eine MySQL-Datenbank und führe den folgenden SQL-Befehl aus, um die Tabellenstruktur anzulegen:
|
|
|
+ ```sql
|
|
|
+ CREATE TABLE game_typen (id INT AUTO_INCREMENT PRIMARY KEY, bezeichnung VARCHAR(100));
|
|
|
+ CREATE TABLE spiele (id INT AUTO_INCREMENT PRIMARY KEY, titel VARCHAR(255), typ_id INT, ean VARCHAR(50), level VARCHAR(50), bild_url VARCHAR(255), FOREIGN KEY (typ_id) REFERENCES game_typen(id));
|
|
|
+ CREATE TABLE spieler (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100));
|
|
|
+ CREATE TABLE scores (id INT AUTO_INCREMENT PRIMARY KEY, spieler_id INT, spiel_id INT, zeit INT, hilfe INT, sterne INT, FOREIGN KEY (spieler_id) REFERENCES spieler(id), FOREIGN KEY (spiel_id) REFERENCES spiele(id));
|
|
|
+ CREATE TABLE besitzstatus (spieler_id INT, spiel_id INT, status ENUM('besitzt', 'nicht besitzt', 'verkauft') DEFAULT 'nicht besitzt', PRIMARY KEY (spieler_id, spiel_id), FOREIGN KEY (spieler_id) REFERENCES spieler(id) ON DELETE CASCADE, FOREIGN KEY (spiel_id) REFERENCES spiele(id) ON DELETE CASCADE);
|