TutorLoom
기업·대학·교육기관을 위한 학습 플랫폼, 무료 오픈소스이며 엔터프라이즈 버전 제공
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Plataforma de preparação para concursos públicos: ciclo de estudos dinâmico guiado pelo edital e pelos seus erros.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Plataforma de preparação para concursos públicos que responde, todos os dias: "o que eu devo estudar agora, e por quê?"
Quem estuda para concurso no Brasil lida com editais extensos, bancas com estilos diferentes (Cebraspe, FGV, FCC, Vunesp...) e pouco tempo. Planilhas e cronogramas rígidos quebram na primeira semana atrasada.
Um ciclo de estudos dinâmico por concurso-alvo:
Detalhes completos em docs/architecture.md.
flowchart LR
U[Navegador] -->|HTTPS| WEB["Páginas Next.js 16"]
U -->|"/api/*"| API["Vercel Function /api/*<br/>Fastify + Better Auth"]
WEB -->|in-process| API
API --> CORE["packages/core<br/>regras puras"]
API --> DB["packages/db<br/>Drizzle"]
DB --> PG[(Neon Postgres)]
API --> MAIL["E-mail<br/>Mailpit / Resend"]
CRON["Vercel Cron<br/>fila de jobs"] --> API
API --> AI["Claude API<br/>(opcional)"]
app/api/[...path] do Next.
Um domínio só, cookie de sessão first-party (httpOnly, SameSite=Lax) e um único deploy.user | editor | admin) e isolamento por dono testado.| Camada | Tecnologia |
|---|---|
| Web | Next.js 16 (App Router), React 19, TypeScript, Tailwind 4, TanStack Query, React Hook Form + Zod |
| API | Node.js 24, Fastify 5, Zod 4, OpenAPI/Swagger |
| Auth | Better Auth (Argon2id, verificação de e-mail, reset, sessões revogáveis, rate limit) |
| Dados | PostgreSQL 17, Drizzle ORM |
| Testes | Vitest (unitário + integração com Postgres), Playwright (E2E) |
| Infra | Vercel (functions gru1), Neon, Resend, pnpm + Turborepo, Docker Compose (dev), GitHub Actions, pino |
Pré-requisitos: Node 24, pnpm 9 (corepack enable), Docker Desktop.
git clone <url-do-repo> aprovaai ; cd aprovaai
Copy-Item .env.example .env
# Gere um segredo e cole em BETTER_AUTH_SECRET no .env:
node -e "console.log(require('crypto').randomBytes(32).toString('base64url'))"
docker compose up -d # Postgres + Mailpit
pnpm install
pnpm db:migrate
pnpm db:seed
pnpm dev # http://localhost:3000 (Swagger da API em /api/docs)
pnpm user:set-role [email protected] adminVerificação:
pnpm lint ; pnpm typecheck ; pnpm test ; pnpm build
pnpm --filter @aprovaai/web exec playwright install chromium # uma vez
pnpm test:e2e
Tudo na Vercel: um projeto com Root Directory apps/web, banco Neon pelo Marketplace (São Paulo) e e-mail pelo Resend.
O build (pnpm vercel-build) aplica as migrations antes do next build. Passo a passo, variáveis e limites da plataforma
em docs/deploy.md.
Estado atual: Etapas B a G concluídas e Etapa H em andamento (radar de editais com fila de confirmação; alertas pendentes), além de vários concursos por usuário.
Limitações conhecidas: alertas do radar (seguir concurso, notificações) e o hardening final (RLS, CSP com nonce, rate limit compartilhado,
Etapa I) ainda não existem. O texto de termos e privacidade é placeholder para revisão jurídica.
Em produção: https://aprovaai-nine.vercel.app. O envio de e-mail (Resend) ainda não está configurado, então o cadastro
por e-mail em produção não recebe o link de verificação (o login com Google funciona). A IA depende de ANTHROPIC_API_KEY.
Lista completa em docs/backlog.md.