Este README serve como referência para o projeto AprovaAI. Como a aplicação está em fase de desenvolvimento, algumas características descritas aqui podem ser alteradas ou ajustadas ao longo do tempo.
O AprovaAI é uma plataforma inovadora de estudos focada em auxiliar estudantes na preparação para diversos tipos de exames — desde vestibulares tradicionais (como ENEM e ITA) até certificações profissionais (como AWS e OAB). Inspirado em uma metodologia de aprendizado por níveis e gamificação, o AprovaAI oferece simulados personalizados, feedback detalhado e acompanhamento de desempenho para otimizar a jornada de estudo do usuário.
O conteúdo é organizado de forma hierárquica: Exame → Tópico → Nível → Questões, permitindo que o aluno avance progressivamente e domine cada área antes de passar para o próximo desafio.
- Simulados por Nível — Estrutura
Exame > Tópico > Nível > Questõespara aprendizado progressivo - Gamificação — Sistema de medalhas, conquistas e streaks para motivar o estudo contínuo
- Prof. Sabichão — Mascote e assistente inteligente para tirar dúvidas (em desenvolvimento)
- Feedback Detalhado — Explicações específicas para cada alternativa e links de aprofundamento
- Drag & Drop — Reordenação intuitiva de exames, tópicos, níveis e questões pelo admin
- Controle de Status — Ativação/desativação de conteúdo sem necessidade de exclusão
- Interface Responsiva — Design moderno que funciona em qualquer dispositivo
- Autenticação Segura — JWT com controle de acesso por perfil (Admin / Aluno)
O AprovaAI oferece dois planos para atender às necessidades de estudo:
- Acesso aos níveis e conteúdos iniciais
- Período de espera de 6 horas entre simulados
- Acesso limitado ao chatbot Prof. Sabichão (futuro)
- Pode conter anúncios
- Simulados ilimitados sem tempo de espera
- Acesso ilimitado ao chatbot Prof. Sabichão (futuro)
- Relatórios de desempenho detalhados (pontos fortes/fracos, evolução por conteúdo)
- Acesso antecipado a novos conteúdos e exames
- Questões exclusivas
- Remoção de anúncios
- Prioridade no suporte
- Simulados por Nível: Faça simulados divididos por
Exame > Tópico > Nível > Questões - Níveis de Dificuldade: Cada nível oferece questões focadas naquele conteúdo
- Simulado Diversificado: O último nível de cada tópico apresenta questões mais variadas para consolidar o aprendizado
- Tipos de Questões: Múltipla escolha com uma ou mais alternativas corretas
- Feedback Detalhado:
- Resultado imediato (
Certo/Errado) após confirmar a resposta - Explicações por alternativa detalhando o motivo de estar certa ou errada
- Links opcionais para aprofundamento no tema
- Resultado imediato (
- Gamificação e Conquistas: Receba medalhas por marcos como:
- "Simulados Perfeitos" (100% de acertos)
- "10 Dias Seguidos" (streak de estudos)
- "Maratonista de [Matéria]" (completar níveis de um conteúdo)
- "Especialista [Exame]" (concluir todos os conteúdos de um exame)
- Streak de Dias: Visualize seu progresso contínuo de estudos
O perfil administrador possui controle total sobre o conteúdo da plataforma:
- Gerenciamento de Exames: CRUD completo com controle de status (ativo/inativo) e reordenação
- Gerenciamento de Conteúdo: CRUD de Tópicos, Níveis e Questões com drag & drop para reordenar
- Personalização de Níveis: Definir XP de recompensa e percentual mínimo de aprovação
- Configuração de Feedback: Adicionar explicações por alternativa e links de aprofundamento
- Gerenciamento de Usuários: Controlar planos de acesso (Free/Premium), ativar/desativar contas
- Upload de Imagens: Adicionar imagens às questões para contexto visual
AprovaAI/
├── frontend/ # React + Vite + TypeScript (SPA)
│ └── README.md # Documentação do frontend
├── backend/ # Node.js + NestJS + Prisma (API REST)
│ └── README.md # Documentação do backend
└── docs/
└── insomnia/ # Coleção Insomnia para testes da API
Consulte os READMEs individuais para instruções detalhadas:
Contribuições são sempre bem-vindas!
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request