Skip to content

Commit 84aabc4

Browse files
Initial commit
0 parents  commit 84aabc4

16 files changed

Lines changed: 7072 additions & 0 deletions

.github/copilot-instructions.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<!-- Tübingen-Tabu Game Project Instructions -->
2+
3+
## Project Overview
4+
5+
This is an Astro-based TypeScript web application that recreates the classic Tabu game with Tübingen-specific terms and references.
6+
7+
## Development Progress
8+
9+
- [x] Project setup and structure created
10+
- [x] Install dependencies and configure Astro
11+
- [x] Create game components and layout
12+
- [x] Implement game logic and timer
13+
- [x] Add Tübingen-specific terms database
14+
- [x] Style with modern responsive design
15+
- [x] Configure GitHub Pages deployment
16+
17+
## Tech Stack
18+
19+
- **Framework**: Astro with TypeScript
20+
- **Styling**: CSS with modern features
21+
- **Deployment**: GitHub Pages
22+
- **Game Features**: Timer, scoring, responsive design
23+
24+
## Key Features
25+
26+
- Tübingen-specific terms (WHO, Boris Palmer, Platanenallee, etc.)
27+
- Timer functionality for game rounds
28+
- Team scoring system
29+
- Responsive modern design
30+
- Static site optimized for GitHub Pages

.github/workflows/deploy.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
concurrency:
14+
group: "pages"
15+
cancel-in-progress: false
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
24+
- name: Setup Node.js
25+
uses: actions/setup-node@v4
26+
with:
27+
node-version: "20"
28+
cache: "npm"
29+
30+
- name: Install dependencies
31+
run: npm ci
32+
33+
- name: Build site
34+
run: npm run build
35+
36+
- name: Setup Pages
37+
uses: actions/configure-pages@v4
38+
39+
- name: Upload artifact
40+
uses: actions/upload-pages-artifact@v3
41+
with:
42+
path: ./dist
43+
44+
deploy:
45+
environment:
46+
name: github-pages
47+
url: ${{ steps.deployment.outputs.page_url }}
48+
runs-on: ubuntu-latest
49+
needs: build
50+
steps:
51+
- name: Deploy to GitHub Pages
52+
id: deployment
53+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# build output
2+
dist/
3+
# generated types
4+
.astro/
5+
6+
# dependencies
7+
node_modules/
8+
9+
# logs
10+
npm-debug.log*
11+
yarn-debug.log*
12+
yarn-error.log*
13+
pnpm-debug.log*
14+
15+
16+
# environment variables
17+
.env
18+
.env.production
19+
20+
# macOS-specific files
21+
.DS_Store
22+
23+
# jetbrains setting folder
24+
.idea/

.vscode/extensions.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"recommendations": ["astro-build.astro-vscode"],
3+
"unwantedRecommendations": []
4+
}

.vscode/launch.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"command": "./node_modules/.bin/astro dev",
6+
"name": "Development server",
7+
"request": "launch",
8+
"type": "node-terminal"
9+
}
10+
]
11+
}

README.md

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# Tübingen Tabu 🎯
2+
3+
Ein modernes Tabu-Spiel mit Tübingen-spezifischen Begriffen, entwickelt mit Astro und TypeScript.
4+
5+
## 🎮 Spielanleitung
6+
7+
1. **Teams bilden**: Teilt euch in zwei Teams auf
8+
2. **Timer starten**: Klickt auf "Start" um das Spiel zu beginnen
9+
3. **Begriffe erraten**: Das aktive Team versucht den Begriff zu erraten, ohne die Tabu-Wörter zu benutzen
10+
4. **Punkte sammeln**: Bei richtigem Erraten auf "✓ Richtig" klicken, bei Tabu-Verstoß "⏭ Überspringen"
11+
5. **Teams wechseln**: Nach jeder Runde wechselt das Team
12+
13+
## 🏛️ Tübingen-Begriffe
14+
15+
Das Spiel enthält typische Tübinger Begriffe wie:
16+
17+
- WHO (Weltgesundheitsorganisation)
18+
- Boris Palmer
19+
- Platanenallee
20+
- Neckar & Stocherkahn
21+
- Eberhard Karls Universität
22+
- Schloss Hohentübingen
23+
- Und viele mehr...
24+
25+
## 🚀 Features
26+
27+
- ⏱️ **Timer-Funktion** mit 90 Sekunden pro Runde
28+
- 📊 **Punktesystem** für zwei Teams
29+
- 📱 **Responsive Design** für alle Geräte
30+
- 🎨 **Modernes UI** mit Animationen
31+
- 🔄 **Unbegrenzte Runden** mit zufälligen Karten
32+
33+
## 💻 Entwicklung
34+
35+
### Voraussetzungen
36+
37+
- Node.js 18+
38+
- npm
39+
40+
### Installation
41+
42+
```bash
43+
# Repository klonen
44+
git clone https://github.com/alexanderhodes/tuebingen-tabu.git
45+
cd tuebingen-tabu
46+
47+
# Dependencies installieren
48+
npm install
49+
50+
# Entwicklungsserver starten
51+
npm run dev
52+
```
53+
54+
### Build
55+
56+
```bash
57+
# Für Production builden
58+
npm run build
59+
60+
# Preview der Production-Version
61+
npm run preview
62+
```
63+
64+
## 🚀 Deployment
65+
66+
Das Projekt wird automatisch über GitHub Actions auf GitHub Pages deployed. Bei jedem Push zum `main` Branch wird eine neue Version erstellt.
67+
68+
**Live Demo**: https://alexanderhodes.github.io/tuebingen-tabu
69+
70+
## 🛠️ Tech Stack
71+
72+
- **Framework**: Astro 5
73+
- **Language**: TypeScript
74+
- **Styling**: CSS mit modernen Features
75+
- **Deployment**: GitHub Pages
76+
- **CI/CD**: GitHub Actions
77+
78+
## 📝 Lizenz
79+
80+
MIT License - siehe [LICENSE](LICENSE) für Details.
81+
82+
## 🤝 Beitragen
83+
84+
Gerne können neue Tübinger Begriffe hinzugefügt oder Verbesserungen vorgeschlagen werden:
85+
86+
1. Fork das Repository
87+
2. Erstelle einen Feature Branch
88+
3. Committe deine Änderungen
89+
4. Push zum Branch
90+
5. Öffne eine Pull Request
91+
92+
## 📧 Kontakt
93+
94+
Bei Fragen oder Anregungen gerne ein Issue erstellen oder kontaktieren.
95+
96+
---
97+
98+
Viel Spaß beim Spielen! 🎉

astro.config.mjs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// @ts-check
2+
import { defineConfig } from 'astro/config';
3+
4+
// https://astro.build/config
5+
export default defineConfig({
6+
site: 'https://alexanderhodes.github.io',
7+
base: '/tuebingen-tabu',
8+
output: 'static',
9+
build: {
10+
assets: 'assets'
11+
}
12+
});

0 commit comments

Comments
 (0)