Files
playbull/README.md
Mike 94b6cc3be9 Initial PlayBull release with Trilogy Hub integration.
Includes homelab deploy tooling, image position/zoom manifest persistence, and full trading/casino stack.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 08:31:36 +02:00

81 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🐂 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
```bash
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
```