Domine sua Próxima Certificação com Precisão de IA. Uma plataforma multi-tenant premium para preparação de exames, projetada para se adaptar a qualquer certificação ou prova.
- Sobre
- Funcionalidades
- Arquitetura
- Estrutura do Projeto
- Instalação e Uso
- Variáveis de Ambiente
- API
- Roadmap
- Contribuindo
- Licença
O Problema: A preparação tradicional para exames (seja certificações de TI, concursos ou provas acadêmicas) é estática e não oferece feedback real sobre onde o candidato precisa melhorar.
A Solução: O ExamFlow é um motor de estudo adaptativo agnóstico a conteúdo. Ele utiliza IA para identificar lacunas de conhecimento, criar ciclos de revisão espaçada e fornecer métricas de prontidão em tempo real. Diferente de plataformas rígidas, o ExamFlow permite criar "Estudos" para qualquer objetivo, importando ou gerando questões automaticamente.
Público-Alvo: Profissionais buscando certificações, estudantes de concursos e qualquer pessoa que precise otimizar seu tempo de estudo com dados.
🖼️ Nota: Recomenda-se adicionar aqui um GIF demostrando o "Modo Exame" ou o Dashboard.
- 🧠 Motor de Exame Inteligente: 6 modos de estudo, incluindo "Mix Real" (simulação), "Domínios Fracos" (foco em erros) e "Revisão Espaçada" (algoritmo SM-2).
- 🛒 Marketplace de Conteúdo: Compartilhe e importe pacotes de estudo criados pela comunidade para diversos exames (CISSP, AWS, OAB, ENEM, etc.).
- 📊 Analytics Avançado: Acompanhe sua "Taxa de Prontidão", sequências de estudo (streaks) e desempenho detalhado por domínio de conhecimento.
- 🏆 Gamificação: Sistema de conquistas (badges) e desafios diários para manter o engajamento.
- � Criação e IA: Ferramentas para criar questões manualmente ou gerar bancos de questões inteiros via IA (
content/generator). - 🔐 Multi-tenant e Seguro: Arquitetura robusta com autenticação Firebase e regras de segurança por nível de acesso.
- 💳 Assinaturas Integradas: Gestão completa de planos Free, Pro e Team via Stripe.
- 🎨 UI Premium: Interface "Dark Mode First", fluida e responsiva, desenvolvida com Tailwind v4 e Framer Motion.
Priorizamos a simplicidade sênior. Uma arquitetura serverless robusta, escalável e de fácil manutenção.
- Frontend/Fullstack: Next.js 16 (App Router, Server Components).
- Backend/DB: Firebase (Auth, Firestore, Storage, Security Rules).
- Linguagem: TypeScript (Tipagem estrita em todo o projeto).
- Estilização: Tailwind CSS 4 + Shadcn UI.
- Pagamentos: Stripe.
- Qualidade: Vitest para testes unitários e ESLint para padronização.
Fluxo de Dados:
- Cliente: Next.js renderiza a UI e gerencia estado com
swr. - API: Route Handlers em
src/app/apiprocessam lógica sensível (pagamentos, validações complexas). - Dados: Firestore armazena usuários, estudos, questões e histórico de exames com estrutura NoSQL otimizada para leitura.
Principais coleções e seus propósitos:
users: Perfis de usuário, configurações e status da assinatura (Free/Pro).studies: Organizadores de conteúdo (ex: CISSP, OAB). Contém metadados como cor e nome.questions: Banco de questões atômicas. Cada questão pertence a umstudyIde possuidomainIds, dificuldade e explicação detalhada.exams: Registros de exames realizados, com pontuação, tempo gasto e respostas dadas.marketplace_studies: Pacotes de estudo públicos criados pela comunidade, prontos para importação.
src/
├── app/ # Rotas e Páginas (Next.js App Router)
│ ├── [locale]/ # Rotas internacionalizadas (i18n)
│ │ ├── (landing)/ # Páginas de marketing
│ │ ├── admin/ # Painel administrativo
│ │ ├── dashboard/ # Área do aluno (visão geral)
│ │ ├── exams/ # Interface de execução de exames
│ │ ├── marketplace/ # Loja de pacotes de estudo
│ │ └── study/ # Detalhes e gestão de um estudo específico
│ └── api/ # Endpoints server-side
│ ├── auth/ # Gerenciamento de sessão
│ ├── billing/ # Webhooks e checkout do Stripe
│ ├── exams/ # Processamento de submissões
│ └── generator/ # Integração com OpenAI
├── components/ # Componentes React reutilizáveis
├── lib/ # Lógica core
│ ├── validators.ts # Schemas Zod para validação total de dados
│ └── ...
├── scripts/ # Scripts de manutenção e migração
└── messages/ # Arquivos de tradução (pt-BR.json, en.json)O projeto utiliza Next.js Route Handlers para expor uma API segura. Principais módulos:
| Endpoint | Descrição |
|---|---|
/api/auth/* |
Gerencia criação de usuários e sincronização com Firebase Auth. |
/api/billing/webhook |
Recebe eventos do Stripe (renovações, cancelamentos) para atualizar status do usuário. |
/api/exams/submit |
Processa respostas de exames, calcula pontuação e atualiza estatísticas de domínio. |
/api/content/generate |
(Admin) Gera novas questões via IA baseado em parâmetros de estudo. |
A pasta scripts/ contém utilitários essenciais para manutenção da plataforma:
validate-questions.ts: Varre o banco de dados em busca de questões com formato inválido ou links quebrados.duplicate-detector.ts: Identifica questões semanticamente idênticas para manter a qualidade do banco.migrate-billing.ts: Script de migração para atualizar estruturas de dados de assinatura.
Para executar um script:
npx tsx scripts/validate-questions.ts- Node.js 18+
- Projeto Firebase configurado
- Conta Stripe (para funcionalidades de pagamento)
-
Clone o repositório:
git clone https://github.com/seu-usuario/examflow.git cd examflow -
Instale as dependências:
npm install # ou pnpm install -
Configuração de Ambiente:
cp .env.example .env.local
Preencha as chaves do Firebase, Stripe e OpenAI no arquivo
.env.local. -
Rodar Servidor de Desenvolvimento:
npm run dev
Acesse
http://localhost:3000.
npm run test: Executa a suíte de testes com Vitest.npm run lint: Verifica problemas de código.npx tsx content/generator/generate.ts: (Interno) Gera questões via IA para popular o banco de dados.
A plataforma é otimizada para implantação na Vercel:
Certifique-se de configurar as variáveis de ambiente no painel da Vercel após a importação.
| Variável | Descrição |
|---|---|
NEXT_PUBLIC_FIREBASE_API_KEY |
Chave de API do Firebase (Web) |
NEXT_PUBLIC_FIREBASE_PROJECT_ID |
ID do Projeto Firebase |
STRIPE_SECRET_KEY |
Chave Secreta do Stripe (Server-side) |
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY |
Chave Pública do Stripe (Client-side) |
OPENAI_API_KEY |
Chave da OpenAI (para gerador de conteúdo) |
NEXT_PUBLIC_APP_URL |
URL base da aplicação (ex: http://localhost:3000) |
- Motor de Exames e Pontuação
- Dashboard de Aluno e Analytics
- Marketplace de Conteúdo Comunitário
- Internacionalização (PT-BR / EN)
- Bulk Question Generator — geração de até 2000 questões em paralelo via IA
- Gerador com 50+ certificações — ISC2, CompTIA, AWS, Azure, GCP, ISACA e mais
- Login com GitHub — OAuth via Firebase Auth
- Login com Microsoft (código pronto, aguardando ativação)
- Import CSV/JSON — importação de questões em lote via painel admin
- App Mobile (React Native / PWA)
- SAML 2.0 Enterprise SSO — autenticação corporativa via provedor de identidade
Contribuições são bem-vindas! Se você tem uma ideia de melhoria:
- Faça um Fork do projeto.
- Crie uma Branch para sua feature (
git checkout -b feature/MinhaFeature). - Commit suas mudanças (
git commit -m 'feat: Adiciona nova funcionalidade'). - Push para a Branch (
git push origin feature/MinhaFeature). - Abra um Pull Request.
Proprietário. Copyright © 2026 Juan Cunha. Todos os direitos reservados. A cópia não autorizada deste arquivo, por qualquer meio, é estritamente proibida sem permissão prévia.