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
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证This repo is used for storing in work projects.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A web app where people play short NBA trivia minigames, earn points, climb a leaderboard, and
optionally play head-to-head against another person online. 18 games are live today — playoff
series, logos, MVPs, starting fives, Wordle, Connections, a hex-grid heatmap, a 3×3 criteria grid,
a party bluffing game, and more. See docs/games/MASTER_PLAN.md for
the full roster and what's still planned.
Data comes from nba_api. Frontend is TypeScript/React,
backend is Django, multiplayer is a Node/Socket.IO server.查看完整 README ↗Live at https://swishquest.com.
A web app where people play short NBA trivia minigames, earn points, climb a leaderboard, and optionally play head-to-head against another person online. 18 games are live today — playoff series, logos, MVPs, starting fives, Wordle, Connections, a hex-grid heatmap, a 3×3 criteria grid, a party bluffing game, and more. See docs/games/MASTER_PLAN.md for the full roster and what's still planned.
Data comes from nba_api. Frontend is TypeScript/React,
backend is Django, multiplayer is a Node/Socket.IO server.
The app has three parts, each in its own terminal — paste each block into a separate shell. Requires Node.js and Python 3.10+. Make sure ports 8000, 4000 and 5173 are free first. Single-player games only need the backend running; multiplayer needs all three.
cd backend
python -m venv venv
venv\Scripts\activate # Windows (macOS/Linux: source venv/bin/activate)
pip install -r requirements.txt
pip install -r requirements-pipeline.txt # only for the NBA data commands and the test suite
python manage.py migrate
python manage.py runserver 8000
cd multiplayer_server
npm install
npm start
npm install
npm run dev
Then open http://localhost:5173.
The frontend reads the backend URL from .env (VITE_BACKEND_URL=http://localhost:8000/api) and
the socket URL from VITE_SOCKET_URL (defaults to http://localhost:4000). Local dev needs no
other env vars — the backend falls back to sqlite when DATABASE_URL is unset.
npm run dev first runs a probe (scripts/dev-env.mjs) that checks whether the local backend
and socket server are actually up, and writes a gitignored .env.local that falls back to the
deployed production ones if not — see docs/DEPLOYMENT.md → Environments.
Everyday commands (from the repo root unless noted):
| Frontend lint | npm run lint |
| Frontend typecheck + build | npm run build |
| Backend tests | cd backend && python manage.py test |
| Backend sanity check | cd backend && python manage.py check |
Deploying / scaling to production? See docs/DEPLOYMENT.md for the full activation runbook (CDN content, Postgres, Redis, env vars) and docs/DATA_PIPELINE.md for how game data is refreshed.
.github/workflows/security.yml runs one security agent (gitleaks + osv-scanner + a Claude security review with
.security/scan-instructions.md) in two modes:
main (promotions and pipeline hotfixes included): diff-only scan behind the required status
security/pr-scan. High/critical blocks it, and for a trusted same-repo PR the team pipeline fixes the branch and the
scan re-runs (2 rounds at most, then a human). Medium/low → a PR comment and the next weekly card.State lives on the branch security-state (findings.json, one entry per finding fingerprint, details encrypted with
the SECURITY_STATE_KEY secret). False positives: add the fingerprint and a reason to .security/ignore.json; tune the
review in .security/scan-instructions.md, gitleaks rules in .gitleaks.toml. Details: docs/security/README.md.
| Doc | What's in it |
|---|---|
| docs/ARCHITECTURE.md | How the three services + database + data pipeline fit together, in plain language |
| docs/DEPLOYMENT.md | Runbook for taking this from "works locally" to hosted at scale |
| docs/DATA_PIPELINE.md | How NBA data is gathered, stored, refreshed, and served |
| docs/GAME_DESIGN_CONSTRAINTS.md | The UI/UX rules every game (current and new) must follow |
| docs/games/MASTER_PLAN.md | Every game the app has, is building, or should build — status tracker |
| docs/games/DATA_REQUIREMENTS.md, PLAYERS_DATA.md, TEAMS_DATA.md | Data-field wishlists the games above draw on |
| docs/game-research/ | Reference screenshots from other trivia games (mechanics only — never copy visual style) |
| docs/security/README.md |
| Path | What's in it |
|---|---|
src/ | React + TypeScript frontend — components/, views/ (page-level components — Next.js owns the pages name), Game Renderers/, styles/, store/ (Redux Toolkit), hooks/, context/, constants/ |
backend/ | Django project. Apps: users/ (auth, custom user, rank), trivia/ (minigame data + pipeline) |
multiplayer_server/ | Node Socket.IO server for "Play Online" and friend rooms |
docs/ | All project documentation (see the map above) |
.claude/ | Coding-agent configuration (subagent definitions, engine profiles, scheduled routines) |
backend/| File/Folder | Description |
|---|---|
backend/settings.py | Django configuration (apps, database, middleware) |
backend/urls.py | Root URL routing |
users/ | Accounts: models, login/signup/update-profile views, migrations |
trivia/ | Minigame data: models, views, data pipeline, migrations |
media/ | Uploaded files (e.g. profile photos) |
Frontend — React 19 + TypeScript, Next.js (App Router, server-rendered), Tailwind CSS 4, Redux Toolkit, framer-motion, socket.io-client.
Backend — Django 5 + Django REST Framework, djangorestframework-simplejwt for auth,
Supabase Postgres in production (sqlite locally).
Multiplayer — Node.js + Socket.IO.
Full rationale and how the pieces talk to each other: docs/ARCHITECTURE.md.
If you have questions or want to collaborate, feel free to open an issue or reach out via GitHub.
| The security agent: weekly scan, PR gate, state, tuning false positives |
| CLAUDE.md | Instructions for AI coding agents working in this repo |
| .claude/README.md | How the coding-agent model/effort profile is configured and switched |