Este documento é o ponto de retomada atualizado em 2026-10-18: o que foi publicado (PRs #40 a #50), o que vem a seguir na ordem recomendada, e como montar o ambiente para continuar. Os planos detalhados continuam nos documentos de cada frente (links na Seção 5).
| PR | Conteúdo |
|---|---|
| #40 | Piloto do Bloco 1 do espec_full_stack (caps 01 a 04), aprovado na revisão |
| #41 | Navegação de capítulo só pelo layout (navegação escrita à mão removida de ~4.700 páginas) |
| #42 | Catálogo de Projetos no Padrão Ouro, com as correções da padronização (SVGs gerados do código, conteúdo restaurado, validate_liquid.py reescrito, gradle-wrapper.jar, 41 projetos 🚧, 401 nos fullstack_estoque_01/02) |
| #43 | Uma fila de CI por branch/PR; AGENTS.md pede o link checker antes do PR |
| #44 | TecLoja 02 descreve o código real (composables, não Pinia); MEMORIA_CONTEXTO.md atualizada |
| #45 | Numeração dos problemas e das entregas corrigida em 67 cadernos de exercícios |
| #46 | Auditoria de exercícios por conteúdo (R7): nota A–D por curso no audit_course_depth.py |
| #47 | Bloco 2 do Full Stack (caps 05 a 08): tópicos de 171 a 230 linhas, exercícios refeitos, código verificado rodando (PostgreSQL real no cap 07) |
| #48 | Checkout da TecLoja (01, 03 e 04) não vende mais o último item várias vezes (medido: 5 pedidos para 1 unidade → 1) |
| #49 | python_web_tarefas_01_fastapi no Padrão Ouro: engenharia completa, SVGs conceituais, Swagger aprofundado, tutorial idêntico ao código e execução local sem depender de Docker |
| #50 | Mermaid no CI: 41 diagramas quebrados corrigidos em 38 páginas e novo validador _scripts/check_mermaid.py (Mermaid 10.9.6 via Chrome headless) integrado ao workflow |
Mesmo padrão dos Blocos 1 e 2: tópico pela Seção 3 do plano da Frente 2, exercícios em 4 níveis com gabarito executado, slides e quiz; “No Catálogo” só com arquivos conferidos no código.
| Cap | Assunto | Situação dos exercícios | Projetos do Catálogo (conferir no código antes de citar) |
|---|---|---|---|
| 09 | Spring Boot + Angular | Genérico (o mesmo molde dos antigos 05 e 06); a auditoria não o acusa mais, porque a detecção é por repetição e os caps com que ele se repetia foram reescritos | fullstack_tarefas_08_spring_angular, fullstack_tecloja_01_spring_angular (checkout já corrigido no #48) |
| 10 | FastAPI + Vue | Raso | fullstack_tecloja_02_fastapi_vue (composables, sem Pinia: #44), fullstack_tarefas_06_spring_vue |
| 11 | HTMX + Thymeleaf | Raso | javaweb_gastos_03_htmx, javaweb_gastos_04_htmx |
| 12 | Micro-frontends | Raso | Nenhum no Catálogo: registrar a lacuna na Seção 7 |
Ao fim do bloco: link checker (gerando o site pelo PowerShell), PR e merge com o ok do usuário.
Um PR por bloco. Os exercícios são rasos, mas do assunto certo: pela decisão D5, só mudam se contradisserem o tópico novo, o que no Bloco 2 aconteceu nos quatro capítulos.
Detalhes na seção 0 do plano de melhoria dos 40 cursos:
mod_03_git_github: requisitos específicos por problema (hoje o mesmo molde nos 20 caps).espec_cientifica_matlab e espec_frontend_svelte: títulos e enunciados próprios por capítulo.extra_redes: exercícios repetidos em 6 capítulos e a ordem dos capítulos (tópicos com “Cap NN” interno fora de ordem; o arquivo 04 se chama DNS e trata de hospedagem).Depois: opção B, a trilha principal (mod_*) no padrão do piloto, curso a curso.
| Projeto | Problema | Onde está documentado |
|---|---|---|
redes_01_sniffer_websocket_chat |
O WebSocket feito à mão cai com mensagens de 120 caracteres e lê lixo com 200 | Cap 08, Seção 7; a correção está no gabarito do exercício 08.1 |
fullstack_tecloja_04_nest_nextjs |
web-nextjs/app/page.tsx tem os produtos escritos no código e um revalidate sem efeito; api-nest só tem o schema.prisma |
Cap 06, Seções 6 e 7; exercício 06.3 |
fullstack_tecloja_03_nest_react |
products.service.ts sem @Injectable, controller e módulo |
Cap 06, Seção 7; exercício 06.1 |
sistemas_csharp_04_signalr_realtime (🚧) |
Hub para Clients.All, sem grupos nem autenticação |
Cap 08, Seção 7 |
fullstack_pi_01 a _05 |
Só frontend React, sem API | Cap 05, Seção 7; exercícios do cap 05 |
fullstack_tecloja_01, _03 e _04 (a do _02 foi corrigida no #44).fullstack_tecloja_03_nest_react sem rota de checkout no api-nest.fullstack_estoque_01 mantém de propósito o 500 no lugar do 403 e o ProdutoControllerTest quebrado (a parte 2 conta como descobriu e corrigiu).| Para | Como |
|---|---|
| Compilar e rodar os trechos TypeScript | Um diretório de trabalho com npm install typescript @types/node zod express @types/express @tanstack/react-query react @types/react socket.io socket.io-client ws pg @types/pg drizzle-orm typeorm reflect-metadata @nestjs/common @nestjs/core @nestjs/platform-express class-validator class-transformer prisma @prisma/client next; tsconfig com "jsx": "react-jsx", experimentalDecorators e emitDecoratorMetadata; código Next com moduleResolution: "bundler" e um next-env.d.ts |
| PostgreSQL real, sem instalar nada no sistema | npm install embedded-postgres, initialise() e start() numa porta própria; usado no cap 07 (corrida no checkout, N+1) e no cap 08 (adaptador de várias instâncias) |
| Projetos Java | mvn test (JDK 21 e Maven na máquina); testes de concorrência com @SpringBootTest e banco real, não Mockito |
| Gerar o site | PowerShell: bundle exec jekyll build "--baseurl=/portal_jekyll" "--destination=_site_local". No Git Bash, /portal_jekyll vira C:/Git/portal_jekyll e todos os links absolutos saem quebrados |
| Ver o site | python _scripts/serve_local.py (porta 8000) |
| Antes de cada PR | validate_liquid.py, check_estrutura_portal.py, check_projetos_yml.py, gerar_guia_projeto.py --todos --check, gerar_svg_arquitetura.py --todos --check (só depois do git add), o link checker (test_links.py) e o validador de diagramas (check_mermaid.py) |
@Injectable ausente não dá erro na subida (dá na 1ª chamada); o decrement depois de conferir deixa o estoque negativo; o servidor WebSocket à mão cai com 120 caracteres.git commit -F); scripts com barras invertidas escritos em arquivo, nunca em heredoc do Git Bash; PYTHONIOENCODING=utf-8 para emoji.| ⬅️ Voltar à Central de Documentação | 🏠 Página Inicial |