DevFullStack
Proposta de nova arquitetura para uma plataforma de e-learning baseada em aprendizado por projetos, com geração de cursos personalizados via IA e camada adaptativa de conteúdo.
A DevFullStack possui hoje ~1.200 aulas organizadas em formações fixas. O sistema atual funciona bem, mas é genérico — o aluno escolhe uma trilha pré-definida.
A proposta adiciona um novo modo por projetos: o aluno conversa com uma IA, define um projeto próprio e a plataforma monta um curso personalizado do zero ao deploy.
Se já existe uma aula no catálogo → reutiliza. Se não existe → a IA gera e salva no catálogo para os próximos alunos.
O sistema de formações fixas continua funcionando sem alterações.
CoursePlan · CoursePlanLesson
ProjectConversation
Worker → LLM externo
Cloud Tasks / SQS
type: customstatus: pending. Aula gerada em background enquanto o aluno começa pelas disponíveis.ProjectConversation.Clone do iFood
Delivery com catálogo, pedidos e pagamento
Clone do Netflix
Streaming com auth e player de vídeo
CRM Completo
Gestão de clientes e pipeline de vendas
SaaS com IA
Plataforma com LLM e billing
Nenhum ainda
Comece uma conversa acima
Definir meu projeto
Me conta: qual projeto você quer criar? Pode ser qualquer coisa — um clone de app, uma ferramenta interna, um SaaS.
Node.js — fundamentos e event loop
Node.js é um runtime JavaScript construído sobre o motor V8 do Chrome. Diferente de linguagens como PHP que criam uma nova thread para cada requisição, o Node usa uma única thread com um modelo de I/O não-bloqueante.
O conceito mais importante é o event loop. Em vez de bloquear esperando I/O, o Node registra callbacks e continua processando outras requisições.
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Olá do Node!\n');
});
server.listen(3000, () => {
console.log('Servidor rodando na porta 3000');
});
Isso torna o Node eficiente para o backend do nosso iFood — com muitas requisições simultâneas de clientes, restaurantes e entregadores ao mesmo tempo.
| Aluno | Projeto | Última aula | Formato | Retenção | Status |
|---|---|---|---|---|---|
| João Silva | iFood clone | Node.js fundamentos | vídeo | 82% | destaque |
| Ana Costa | Netflix clone | React hooks avançado | H5P | 71% | ativo |
| Pedro Lemos | CRM completo | PostgreSQL joins | texto | 44% | baixo |
| Mariana Souza | iFood clone | Express middlewares | vídeo | 89% | destaque |
| Carlos Mendes | SaaS com IA | Autenticação JWT | H5P | 77% | ativo |
| Julia Ferreira | Instagram clone | CSS Grid avançado | texto | 38% | baixo |
| Rafael Nunes | iFood clone | Stripe webhooks | vídeo | 91% | destaque |
| Beatriz Lima | CRM completo | React Query | H5P | 65% | ativo |
| Aula | Alunos | Retenção |
|---|---|---|
| PostgreSQL — cardápios e pedidos | 14 | 81% |
| Stripe webhooks para delivery | 11 | 78% |
| React tela de cardápio — iFood | 14 | 76% |
| Deploy Railway — app fullstack | 10 | 74% |
| Aula | Alunos | Retenção |
|---|---|---|
| CSS avançado — animações | 3 | 41% |
| GraphQL subscriptions | 2 | 48% |
| Aula | Variante | Motivo |
|---|---|---|
| Node.js fundamentos | Vídeo | preferred_format |
| Express REST API | Vídeo | preferred_format |
| PostgreSQL cardápios | Texto | fallback (vídeo gerando) |
| React componentes | Vídeo | preferred_format |
| iFood tela React | H5P | new_user_default |
(conclusao_media × 0.5) +
(acerto_quiz_media × 0.3) +
(sem_replays_excessivos × 0.2)
Calculado por job periódico.
Mínimo 3 aulas por formato para ativar.
● Número de replays = dificuldade no tópico
● Acertos e tentativas no quiz = desempenho
● Formato escolhido = preferência declarada
(conclusao_media × 0.5) +
(acerto_quiz_media × 0.3) +
(sem_replays_excessivos × 0.2)
Alunos com < 3 aulas em um formato recebem o formato padrão.
2. Se preferredFormat definido (≥3 aulas, retenção ≥65%)
→ entrega esse formato · reason: "preferred_format"
3. Se perfil vazio (aluno novo)
→ entrega vídeo · reason: "new_user_default"
4. Se variante preferida está "generating"
→ entrega próximo disponível · reason: "fallback_generating"
5. Sempre registra em LessonDelivery para auditoria
