Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
Plateforme premium de blind test musical (Spotify, YouTube) et de quiz multimédia pour vos soirées. Sans installation côté joueurs. À partir de 3,99 €.
Translation pending
GamesTypeScript · HTMLGitHub @thomaspinonluxOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Plateforme de jeux interactifs multijoueurs (Blind Test musical + Quizz) pour bars, restaurants et particuliers. • Frontend : React 18 + TypeScript + Vite + Tailwind CSS + Socket.IO Client • Backend : Node.js 20+ + Express + TypeScript + Socket.IO + Prisma • DB & Auth : PostgreSQL + Supabase (Auth + Storage) • Hosting : Vercel (frontend) + Railway (backend) + Supabase (DB) • Node.js ≥ 20 • pnpm ≥ 9 (brew install pnpm) Toutes les règles (breakpoints, comportement par route, cibles tactiles, checklist) sont dans docs/RESPONSIVE.md.Read the full README ↗
Plateforme de jeux interactifs multijoueurs (Blind Test musical + Quizz) pour bars, restaurants et particuliers.
tutti/
├── frontend/ # App React (Vercel)
├── backend/ # Serveur Node + Socket.IO (Railway)
├── shared/ # Types et utilitaires partagés
└── design-references/ # Maquettes HTML de référence (Pop Cocktail)
brew install pnpm)pnpm install
# Tout en parallèle (frontend + backend)
pnpm dev
# Ou séparément
pnpm dev:frontend # http://localhost:5173
pnpm dev:backend # http://localhost:3001
pnpm build # Build tous les packages
pnpm lint # Lint TypeScript
pnpm typecheck # Vérification de types
pnpm format # Formatage Prettier
Toutes les règles (breakpoints, comportement par route, cibles tactiles, checklist) sont dans docs/RESPONSIVE.md.
/play)Persistance d'identité, reconnexion auto Socket.IO, Wake Lock, indicateur visuel : voir docs/PLAYER_RESILIENCE.md. Non négociable pour une vraie soirée au bar.
TL;DR :
/admin/* : bloqué sub-md, 2 cols md→xl (panel droit en modale), 3 cols xl+./host (étape 9+) : bloqué sub-lg, 2 × 2 lg→xl, 4 cols xl+./screen (étape 12+) : adaptatif lg→2xl, polices XL pour TV en 2xl./play (étape 9+) : mobile-first absolu (375–430 px = la majorité de l'usage), centré max 500 px sur grands écrans.Outils : <MinScreen min="md|lg|xl"> + useBreakpoint().
V1 supporte français (défaut) et anglais. Détection automatique de la langue du navigateur, switch manuel via le composant <LanguageSwitch /> (persisté en localStorage).
Procédure complète, sans modification de code applicatif :
frontend/src/locales/<code>.json (par exemple de.json pour l'allemand). Copier la structure de fr.json et traduire toutes les valeurs.frontend/src/i18n/index.ts :
import de from '../locales/de.json'de: { translation: de } à resources'de' à SUPPORTED_LOCALESbackend/src/locales/<code>.json avec la même structure que fr.json.backend/src/lib/i18n.ts :
import de from '../locales/de.json' with { type: 'json' }de à RESOURCES<LanguageSwitch /> détecte automatiquement la nouvelle langue, et l'API accepte la nouvelle valeur dans le header Accept-Language.Aucune logique applicative ne référence les codes de langue en dur.
Voir backend/.env.example et frontend/.env.example.
Ne JAMAIS committer les vrais fichiers .env* ni credentials.env.local.
Tout commit poussé sur main redéploie automatiquement les deux services.