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를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
App web (PWA, mobile-first) que conecta jogadores de RPG de mesa, jogos de tabuleiro e TCG em Curitiba: encontre ou crie missões, descubra locais verificados e construa sua reputação jogando. Projeto de Extensão "TI e Sociedade", Universidade Positivo. Requisitos em PRD.md; decisões de projeto em DECISIONS.md. Next.js 16 (App Router) + TypeScript · Tailwind CSS v4 + shadcn/ui · Supabase (Postgres, Auth, RLS) · Leaflet + OpenStreetMap · react-hook-form + zod · Vitest · Vercel. Pré-requisitos: Node.js 22.18+ (recomendado 24) e uma conta gratuita no Supabase.README 전문 보기 ↗
App web (PWA, mobile-first) que conecta jogadores de RPG de mesa, jogos de tabuleiro e TCG em Curitiba: encontre ou crie missões, descubra locais verificados e construa sua reputação jogando.
Projeto de Extensão "TI e Sociedade", Universidade Positivo. Requisitos em PRD.md; decisões de projeto em DECISIONS.md.
Next.js 16 (App Router) + TypeScript · Tailwind CSS v4 + shadcn/ui · Supabase (Postgres, Auth, RLS) · Leaflet + OpenStreetMap · react-hook-form + zod · Vitest · Vercel.
Pré-requisitos: Node.js 22.18+ (recomendado 24) e uma conta gratuita no Supabase.
npm install
cp .env.example .env.local # depois preencha os valores (veja abaixo)
npm run dev # abre em http://localhost:3000
No painel do Supabase, abra Project Settings > API Keys e copie para o .env.local:
| Variável | Onde achar | Pública? |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | Project URL | sim |
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY | API Keys > Publishable key (sb_publishable_...) | sim (protegida por RLS) |
SUPABASE_SECRET_KEY | API Keys > Secret key (sb_secret_...) | não: só servidor, nunca commitar nem colar em chat |
| Comando | O que faz |
|---|---|
npm run dev | Servidor de desenvolvimento |
npm run lint | ESLint |
npm run typecheck | Checagem de tipos (TypeScript estrito) |
npm test | Testes unitários (Vitest) |
npm run build | Build de produção |
npm run icons | Regenera os ícones PWA a partir de src/app/icon.svg |
npm run seed | Recria os dados de demonstração no Supabase (usa a secret key) |
npm run e2e | Testes de ponta a ponta no navegador (veja e2e/README.md) |
src/
app/
page.tsx home pública (prévia de missões e locais)
(auth)/ cadastro, login e as Server Actions de autenticação
(app)/ telas logadas com cabeçalho + navegação inferior
manifest.ts manifesto PWA
components/
ui/ componentes shadcn/ui
layout/ cabeçalho e navegação inferior
lib/
supabase/ clientes Supabase (navegador e servidor)
env.ts leitura das variáveis de ambiente
cpf.ts, age.ts validação de CPF (Módulo 11) e de 18+
validation/ schemas zod dos formulários
proxy.ts protege as rotas logadas (o antigo middleware)
supabase/migrations/ schema, RLS e funções
supabase/tests/ testes do banco (PGlite)
scripts/ utilitários (ícones, seed)
e2e/ testes de ponta a ponta (Playwright + Edge)
O schema, as políticas de segurança (RLS) e as regras de negócio (vagas, XP, denúncias) ficam em supabase/migrations/, em 3 arquivos que devem ser aplicados em ordem:
20261010000100_schema.sql: tipos, tabelas, restrições e a configuração de XP/níveis20261010000200_functions.sql: gatilhos e funções (RPC)20261010000300_rls.sql: permissões e políticas RLSComo aplicar (SQL Editor): no painel do Supabase, abra SQL Editor > New query, cole o conteúdo do arquivo 1 e clique em Run. Repita com os arquivos 2 e 3.
Alternativa pela linha de comando:
npx supabase login,npx supabase link --project-ref <ref>enpx supabase db push.
npm test também roda supabase/tests/: os testes sobem um Postgres em memória (PGlite), aplicam as mesmas migrations e conferem as regras (CPF, 18+, RLS, vagas, XP, denúncias). Não precisam de internet nem de Docker.
Os pontos e os níveis ficam nas tabelas reputation_rules e levels. Exemplo, no SQL Editor:
update public.reputation_rules set points = 12 where kind = 'played';
npm run seed
Cria 1 admin e 5 jogadores fictícios (<nome>@demo.quadro.dev, senha Missoes2026!), o Joy Joy Café e locais de exemplo, missões futuras, pedidos pendentes, uma missão em andamento (para demonstrar a conclusão) e uma concluída com histórico de XP. Pode rodar de novo: apaga só o que o próprio seed criou.
Depois de criar sua conta pelo app, rode no SQL Editor (trocando o e-mail):
update public.profiles
set role = 'admin'
where id = (select id from auth.users where email = '[email protected]');
git remote add origin <url> e git push -u origin main..env.local (NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY, SUPABASE_SECRET_KEY).git push na main, a Vercel publica de novo sozinha.https://<projeto>.vercel.app) e adicione a mesma em Redirect URLs.O vercel.json faz o servidor rodar em São Paulo (gru1), perto do banco do Supabase: cada consulta fica bem mais rápida do que nos EUA (padrão da Vercel).
Roteiro do vídeo, contas e cenas em docs/ROTEIRO_DEMO.md.