Skip to content

Stevenrylski/ImposterGame

Repository files navigation

Imposter - Multiplayer Social Deduction Game

Ein Multiplayer-Spiel basierend auf "Among Us" mit Next.js, Tailwind CSS und Supabase.

🚀 Setup

1. Repository klonen

git clone https://github.com/Stevenrylski/ImposterGame.git
cd ImposterGame
npm install

2. Supabase-Projekt einrichten

  1. Gehe zu supabase.com und erstelle ein kostenloses Konto
  2. Erstelle ein neues Projekt
  3. Kopiere die Project URL und anon public key aus den Projekteinstellungen

3. Umgebungsvariablen konfigurieren

Erstelle eine .env.local Datei im Root-Verzeichnis:

NEXT_PUBLIC_SUPABASE_URL=deine-project-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=dein-anon-key

4. Datenbank-Schema erstellen

  1. Gehe in dein Supabase-Projekt → SQL Editor
  2. Kopiere den Inhalt von supabase-schema.sql und führe ihn aus
  3. Aktiviere Realtime für alle Tabellen in den Projekteinstellungen

5. App starten

npm run dev

Öffne http://localhost:3000 in deinem Browser.

🎮 Spielregeln

  • Minimum: 3 Spieler, Maximum: 15 Spieler
  • Imposter: 1-3 (einstellbar vom Host)
  • Ablauf:
    1. Wort-Phase: 15 Sekunden - alle sehen das Wort (außer Imposter)
    2. Diskussion: Freie Diskussion (optional: Text-Chat)
    3. Abstimmung: 60 Sekunden - Spieler wählen einen aus
    4. Imposter-Gewinn: Wenn das Wort erraten wird
    5. Crew-Gewinn: Wenn alle Imposter eliminiert werden

🛠️ Technologie-Stack

  • Frontend: Next.js 14 (App Router), TypeScript, Tailwind CSS
  • Backend: Supabase (PostgreSQL, Realtime, Auth)
  • Styling: Dark Mode, Responsive Design

📁 Projektstruktur

src/
├── app/                 # Next.js App Router
│   ├── room/           # Spiel-Routen
│   └── globals.css     # Globale Styles
├── components/         # React-Komponenten
│   ├── Lobby.tsx      # Lobby-Ansicht
│   ├── GameView.tsx   # Haupt-Spiel-Ansicht
│   ├── WordReveal.tsx # Wort-Anzeige
│   ├── VotingPhase.tsx # Abstimmungs-Phase
│   └── ...
├── lib/               # Utilities
│   └── supabase.ts    # Supabase-Client
└── types/             # TypeScript-Typen
    └── supabase.ts    # Datenbank-Typen

🔧 Entwicklung

# Development Server
npm run dev

# Build für Production
npm run build

# Production Server
npm start

# Linting
npm run lint

📝 TODO

  • Grundstruktur mit Next.js und Tailwind
  • UI-Komponenten für alle Spielphasen
  • Supabase-Schema und Typen
  • Realtime-Integration
  • Spiel-Logik und Zustandsmanagement
  • Room-Management (Join/Leave)
  • Host-Funktionen
  • Mobile Optimierung
  • Error Handling
  • Deployment

🤝 Beitragen

  1. Fork das Repository
  2. Erstelle einen Feature-Branch
  3. Committe deine Änderungen
  4. Push zum Branch
  5. Erstelle einen Pull Request

📄 Lizenz

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published