a8f91ea4647ac1c53ef68ea6d47143d460c8c898
Co-authored-by: Cursor <cursoragent@cursor.com>
🐂 PlayBull — Trading & Gamble (Spielgeld)
Eine mobile-first Web-App, die Live-Trading mit echten Aktienkursen und ein Casino verbindet. Alles mit Spielgeld, alle Spieler teilen denselben Live-Markt.
⚠️ Reines Spaßprojekt mit Spielgeld. Kein echtes Geld, kein echtes Glücksspiel.
Features
📈 Trading (für alle sichtbar, Handel mit Login)
- Echte Startkurse über die Finnhub-API (Aktien) + Live-Simulation
- Geteilter Live-Markt: Kurse sind bei allen identisch und ticken jede Sekunde
- Long & Short, Position-Netting, Live-P&L, Depot/Net-Worth
- 14 Assets: Aktien (AAPL, TSLA, NVDA, …), Krypto/Meme (BTC, ETH, DOGE, BULL)
- Live-Chart pro Asset (Canvas)
🎛️ Markt-Manipulation (Spaßmodus: jeder eingeloggte User)
- Pump 🚀 / Dump 📉, Kurs hart setzen, Halt/Resume, Reset
- Wirkt sofort für alle Spieler gleichzeitig (geteilter Live-Status)
🎰 Casino (Login erforderlich)
- 🐔 Chicken Road — Straße überqueren, Multiplikator steigt, rechtzeitig cashen (4 Schwierigkeiten)
- 🃏 10×10 Karten-Deck — 100 Felder, Bomben vermeiden, Multiplikator steigt pro sicherer Karte
- 🚀 Crash — server-autoritativ, raus bevor die Rakete crasht
- 🎲 Dice — Über/Unter mit einstellbarem Risiko
- 🪙 Coinflip — Kopf oder Zahl, 2×
⚙️ Einstellungen / Admin (Spaßmodus)
- Geld bearbeiten bei sich selbst & anderen (hinzufügen / setzen, Quick-Buttons)
- Markt-Kontrolle direkt aus den Einstellungen
- Avatar wählen, Spielerliste
🏆 Social
- Live-Aktivitäts-Feed (Trades, Wins, Manipulationen) als Ticker + Liste
- Rangliste nach Net-Worth
Tech-Stack
- Backend: Node.js, Express, Socket.IO, eingebautes
node:sqlite - Auth: JWT (httpOnly-Cookie) + bcrypt
- Frontend: Vanilla JS (ES-Module), Canvas-Charts, mobile-first CSS
- Keine Build-Tools nötig
Start
npm install
npm start
Dann im Browser öffnen: http://localhost:3000 (Handy: gleiche WLAN-IP, Port 3000).
Konfiguration (.env)
| Variable | Bedeutung |
|---|---|
PORT |
Server-Port (Default 3000) |
JWT_SECRET |
Secret für Login-Tokens |
FINNHUB_API_KEY |
API-Key für echte Aktienkurse |
START_BALANCE |
Startguthaben neuer Spieler (Default 10000) |
Verbindung Trading ↔ Casino
Beide nutzen denselben Spielgeld-Kontostand. Gewinne aus dem Casino kannst du direkt im Trading einsetzen — und umgekehrt. Der erste registrierte User existiert gleichberechtigt; im Spaßmodus darf jeder eingeloggte Spieler den Markt manipulieren und Guthaben bearbeiten.
Projektstruktur
server/
index.js Express + Socket.IO + Routen
config.js .env-Loader
db.js SQLite-Schema & Helper
auth.js Register/Login/JWT
market.js Finnhub + Live-Simulation + Manipulation
trading.js Buy/Sell/Short, Portfolio, P&L
games.js Chicken, Mines, Crash, Dice, Coinflip
realtime.js Socket-Broadcast + Feed
public/
index.html, css/styles.css, js/app.js
Description
Languages
JavaScript
60%
HTML
16.8%
CSS
11%
Shell
7.9%
PowerShell
3.8%
Other
0.5%