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
Squares pool app
Translation pending
GamesTypeScript · PLpgSQLGitHub @lmstech23OnlineOwner 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.
Run your own squares board. Hosts create boards, share links, players pick and pay.
• Framework: Next.js 16 (App Router, TypeScript)
• Database: Postgres (Supabase) + Prisma ORM
• Payments: Stripe Connect Express
• Hosting: Vercel
After setup, hit GET /api/health to confirm the app connects to the database.
In your Supabase dashboard → Authentication → URL Configuration:
1. Set Site URL to your app URL (http://localhost:3000 for dev)
2. Add Redirect URLs:
• http://localhost:3000/auth/callback
• https://your-vercel-domain.vercel.app/auth/callbackRead the full README ↗Run your own squares board. Hosts create boards, share links, players pick and pay.
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Fill in DATABASE_URL, STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET, NEXT_PUBLIC_URL
# Run database migration
npm run db:migrate
# Start dev server
npm run dev
| Variable | Description |
|---|---|
DATABASE_URL | Supabase Postgres connection string |
NEXT_PUBLIC_SUPABASE_URL | Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase anon/public key |
SUPABASE_SERVICE_ROLE_KEY | Supabase service role key (server-side admin ops) |
STRIPE_SECRET_KEY | Stripe secret key (test mode) |
STRIPE_WEBHOOK_SECRET | Stripe webhook signing secret |
NEXT_PUBLIC_URL | App URL (http://localhost:3000 for dev) |
After setup, hit GET /api/health to confirm the app connects to the database.
In your Supabase dashboard → Authentication → URL Configuration:
http://localhost:3000 for dev)http://localhost:3000/auth/callbackhttps://your-vercel-domain.vercel.app/auth/callbackSTRIPE_SECRET_KEY in .envhttps://your-domain/api/webhooks/stripeaccount.updated, checkout.session.completed, checkout.session.expiredSTRIPE_WEBHOOK_SECRET from the webhook signing secretstripe listen --forward-to localhost:3000/api/webhooks/stripegetHost() helper. If RLS is added later, it's additive — not a migration.supabase_user_id (auth UUID), not email. Email is display/contact only.