✅ Missão 1 finalizada (ver relatório)
Atualizado 22/10/2026 23:09 UTC · página recarrega a cada 2 min
Código no servidor: /root/projects/cardarena-ai. O app ainda não está publicado; este painel mostra documentação e progresso.
Commits (11)
9ce82fc22/10 23:05 feat(ui): identidade visual estilo Pokémon TCG (cartas, energias, pokébola, artes originais)fafaf6a22/10 22:54 docs: missões 2 e 3d0ff0d322/10 22:54 chore: ignora env locaisc95300222/10 22:33 docs: relatório da Missão 19bb590822/10 22:32 docs: plano, limitações e README; fix linted9170b22/10 22:32 feat(web): PWA mobile-first (home, convite+QR, lobby, partida, scanner com fallback manual), e2e Playwright com 2 contextos4de409c22/10 22:29 feat(web): API v1, repositórios Postgres/memória, auth por JWT, testes de serviço e RLS; migrationc47ed8b22/10 22:25 test: corrige lint do teste do reducerdaaabd722/10 22:25 feat: contracts, rules (catálogo fixture, juiz), game-core (reducer puro, projeções) com testesf9a74b622/10 22:23 chore: supabase local config (portas 553xx, auth anônima)38c4dc622/10 21:47 docs: PRD e missão 1
Documentos
Arquivos do repositório
.env.example .gitignore README.md apps/web/e2e/match.spec.ts apps/web/next-env.d.ts apps/web/next.config.mjs apps/web/package.json apps/web/playwright.config.ts apps/web/postcss.config.mjs apps/web/public/art/tst-brutao.svg apps/web/public/art/tst-chamape.svg apps/web/public/art/tst-folhinha.svg apps/web/public/art/tst-gotinha.svg apps/web/public/art/tst-gotinha.webp apps/web/public/art/tst-raiozinho.svg apps/web/public/art/tst-raiozinho.webp apps/web/public/icon.svg apps/web/public/manifest.webmanifest apps/web/public/sw.js apps/web/src/app/api/v1/catalog/cards/route.ts apps/web/src/app/api/v1/games/[id]/commands/route.ts apps/web/src/app/api/v1/games/[id]/events/route.ts apps/web/src/app/api/v1/games/[id]/reconnect/route.ts apps/web/src/app/api/v1/games/[id]/state/route.ts apps/web/src/app/api/v1/rooms/[id]/route.ts apps/web/src/app/api/v1/rooms/[id]/start/route.ts apps/web/src/app/api/v1/rooms/join/route.ts apps/web/src/app/api/v1/rooms/route.ts apps/web/src/app/api/v1/session/route.ts apps/web/src/app/game/[id]/page.tsx apps/web/src/app/globals.css apps/web/src/app/join/[code]/page.tsx apps/web/src/app/layout.tsx apps/web/src/app/page.tsx apps/web/src/app/room/[code]/page.tsx apps/web/src/components/CardView.tsx apps/web/src/components/ErrorNote.tsx apps/web/src/components/Scanner.tsx apps/web/src/components/ServiceWorker.tsx apps/web/src/components/tcg.tsx apps/web/src/lib/client.ts apps/web/src/lib/useChannel.ts apps/web/src/server/auth.ts apps/web/src/server/http.ts apps/web/src/server/ratelimit.ts apps/web/src/server/repo/index.ts apps/web/src/server/repo/memory.ts apps/web/src/server/repo/postgres.ts apps/web/src/server/repo/types.ts apps/web/src/server/service.test.ts apps/web/src/server/service.ts apps/web/tsconfig.json apps/web/vitest.config.ts docs/IMPLEMENTATION_PLAN.md docs/LIMITATIONS.md docs/MISSION_1.md docs/MISSION_1_REPORT.md docs/MISSION_2.md docs/MISSION_3.md docs/PRD.md eslint.config.mjs package.json packages/contracts/package.json packages/contracts/src/index.ts packages/contracts/tsconfig.json packages/game-core/package.json packages/game-core/src/errors.ts packages/game-core/src/game.test.ts packages/game-core/src/index.ts packages/game-core/src/projection.ts packages/game-core/src/reducer.ts packages/game-core/src/state.ts packages/game-core/tsconfig.json packages/rules/package.json packages/rules/src/catalog.ts packages/rules/src/index.ts packages/rules/src/judge.ts packages/rules/tsconfig.json packages/ui/package.json packages/ui/src/button.tsx packages/ui/src/card.tsx packages/ui/src/cn.ts packages/ui/src/index.ts packages/ui/tsconfig.json pnpm-workspace.yaml supabase/.gitignore supabase/config.toml supabase/migrations/20261022000001_init.sql tsconfig.base.json turbo.json