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에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Plataforma de gerenciamento de RPG de mesa: campanhas, convites, fichas digitais, sessões com roteiro por blocos, biblioteca de NPCs e monstros e mesa do mestre com combate e segredos protegidos no banco de dados.
O projeto começa com D&D 5e (SRD 5.2.1) e foi projetado para receber outros sistemas sem exigir uma reescrita da aplicação.
| O quê | Link |
|---|---|
| Site (produção) | https://codexveil.vercel.app |
| APK Android com atualização automática (recomendado) | https://expo.dev/artifacts/eas/HT_E1N3i2gMdSePb2XoWnGa6NXtUdJelBqxC5S6480Y.apk (build ba2a5e0d, 2026-10-26, ícone do Tomo, gerado pelo workflow APK; recebe as atualizações por OTA) |
| Todos os builds do app (EAS) | https://expo.dev/accounts/gabriel.xxtth/projects/codexveil/builds |
| Repositório | https://github.com/GbrielH/CODEXVEIL |
Para instalar o APK, abra o link no celular Android, baixe o arquivo e permita a instalação de fontes desconhecidas. APKs anteriores a este (inclusive o 420f6c37) não recebem as atualizações novas: instale este por cima. Cada push em main publica o site (Vercel) e envia uma atualização OTA ao app (GitHub Actions, .github/workflows/ci.yml); um APK novo só é gerado à mão, quando o código nativo muda. A cada novo build, atualize esta tabela e docs/PROXIMOS_PASSOS.md.
O estado atual do projeto está documentado em docs/PROGRESS.md, os próximos passos em docs/PROXIMOS_PASSOS.md e o que ainda falta em relação ao escopo inicial em docs/PENDENCIAS.md.
apps/
web/ Next.js 16 (App Router), React 19, Tailwind CSS 4
mobile/ Expo SDK 57, React Native 0.86, Expo Router
packages/
domain/ Regras de negócio puras (permissões, convites, recursos, iniciativa, blocos)
rpg-systems/ Contrato de sistemas de RPG + módulo D&D 5e (SRD 5.2)
validation/ Esquemas zod compartilhados (formulários, blocos, uploads)
database/ Tipos do banco, consultas, autosave, Realtime e testes de RLS (PGlite)
ui/ Design system: tokens, emblema e glifos (web e mobile)
config/ TypeScript e ESLint compartilhados
supabase/
migrations/ Esquema versionado, policies RLS, funções e buckets
seed.sql Dados de DEMONSTRAÇÃO (somente ambiente local)
templates/ E-mails de autenticação em português
docs/ Arquitetura, banco, segurança, licenças, deploy, progresso e pendências
| Área | Versão |
|---|---|
| Node.js | 24 (.node-version) |
| pnpm / Turborepo | 12.14 / 2.11 |
| TypeScript | 6.0 (modo estrito) |
| Next.js / React (web) | 16.4 / 19.3 |
| Tailwind CSS | 4.3 |
| Expo / React Native / React (mobile) | SDK 57 / 0.86.3 / 19.2.3 |
| Supabase JS / SSR / CLI | 2.118 / 0.12 / 2.121 |
| Zod | 4.6 |
| Vitest / PGlite (Postgres 17 em WASM) | 5.0 / 0.5 |
corepack enable habilita o Corepack para gerenciar a versão do gerenciador de pacotes definida no projeto.npx, e não é necessário instalar o Android Studio na máquina.Na raiz do projeto, execute:
pnpm install
Escolha uma das opções abaixo.
Requer Docker instalado e em execução.
pnpm exec supabase start
pnpm exec supabase db reset
pnpm exec supabase status
Os comandos iniciam os serviços locais, aplicam as migrações e os dados de demonstração e exibem as URLs e chaves de acesso.
O seed cria duas contas de demonstração com a senha Codexveil123:
Os e-mails locais podem ser consultados no Inbucket/Mailpit em http://127.0.0.1:54324.
Importante: essas credenciais são apenas para demonstração local. Não as utilize em produção.
Crie um projeto exclusivo em supabase.com.
Vincule o projeto à CLI:
pnpm exec supabase link --project-ref <ref-do-projeto>
Aplique as migrações:
pnpm exec supabase db push
O comando db push não aplica o seed de demonstração.
Configure também no painel do Supabase a URL do site, as URLs de redirecionamento, os modelos de e-mail e o SMTP. Consulte docs/DEPLOY.md para obter mais detalhes.
Copie os arquivos de exemplo e preencha os valores necessários:
cp apps/web/.env.example apps/web/.env.local
cp apps/mobile/.env.example apps/mobile/.env.local
No Windows PowerShell, se o comando cp não funcionar no seu ambiente, você pode usar Copy-Item.
| Variável | Aplicação | Descrição |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | Web | URL do projeto Supabase |
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY | Web | Chave pública sb_publishable_... ou chave anon compatível |
NEXT_PUBLIC_SITE_URL | Web | URL pública do site, usada nos links de e-mail |
EXPO_PUBLIC_SUPABASE_URL | Mobile | URL do Supabase; no emulador Android local, use http://10.0.2.2:54321 |
EXPO_PUBLIC_SUPABASE_PUBLISHABLE_KEY | Mobile | Chave pública do Supabase |
EXPO_PUBLIC_SITE_URL | Mobile | URL do site usada em convites e redefinições de senha |
Para o ambiente local, a URL da API do Supabase normalmente é http://127.0.0.1:54321.
Os aplicativos validam a configuração ao iniciar e rejeitam chaves secretas, como service_role e sb_secret_.... Sem a configuração necessária, o site informa quais recursos dependem do backend.
Nunca coloque chaves secretas em variáveis públicas ou no repositório.
Execute os comandos na raiz do projeto.
| Comando | Descrição |
|---|---|
pnpm dev:web | Inicia o site em http://localhost:3000 |
pnpm dev:mobile | Inicia o Expo para abrir o aplicativo no Expo Go ou em um development build |
pnpm check | Executa lint, verificação de tipos e testes dos pacotes |
pnpm test | Executa os testes de domínio, regras de D&D, validação, RLS e web |
pnpm build | Executa o build de produção da web e exporta o bundle Android do app |
pnpm format | Formata os arquivos com Prettier |
pnpm db:types | Regenera os tipos do banco a partir das migrações, sem Docker |
pnpm brand:assets | Regenera ícones e splash a partir do emblema vetorial |
pnpm --filter @codexveil/mobile build:apk | Gera um APK de teste usando EAS Build |
Consulte docs/DEPLOY.md para obter instruções de build, publicação e backups.
Os testes do pacote packages/database aplicam as migrações em um Postgres 17 executado em WebAssembly por meio do PGlite, com um shim mínimo do Supabase.
As consultas são executadas com o papel e o JWT do usuário para testar as políticas RLS, incluindo cenários como tentativas de acessar notas privadas, trocar UUIDs e editar a ficha de outro jogador, sem depender de um banco externo.