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,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 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.