Portal Jekyll • Padrão Ouro Educacional (20 Capítulos • 5 Blocos • 100 Artefatos Sincronizados)
Última Atualização: 2026-10-18 (todas as seções sincronizadas com os nomes canônicos e PRs #40 a #51)
Status Geral do Repositório: 100% de Todos os 40 Módulos Concluídos e Homologados no Padrão Ouro (800 Capítulos, 4.000 Artefatos, 240 Índices, 185 Projetos no Catálogo, 0 Erros)
Todo módulo curricular (mod_NN_*, espec_*, extra_*) do portal segue a matriz canônica (e catalogo_projetos/ concentra os 185 projetos práticos de todos os cursos):
topicos/{numero}_{slug}.md: Teoria completa (layout: single), mapa conceitual Mermaid, tabelas de apoio e ligação com os projetos do Catálogo. A navegação (abas no topo e cartões anterior/próximo) é gerada automaticamente pelo layout (_includes/chapter-tabs.html e chapter-pager.html) — nunca escrever navegação à mão.exercicios/{numero}_{slug}_exercicios.md: Caderno de 4 exercícios progressivos (Nível 1 Fundamentos, Nível 2 Prática, Nível 3 Integração, Nível 4 Desafio) com ### Resultado Esperado, instruções de entrega e <details markdown="1"><summary>🔑 Gabarito de Código & Solução Comentada</summary> contendo código executável e funcional (layout: single).exemplos/{numero}_{slug}_exemplos.md: Códigos de demonstração prática e casos de uso reais (layout: single).slides/{numero}_{slug}_slides.md: Slides técnicos com layout: slide, tópicos concisos e diagramas Mermaid.quizzes/{numero}_{slug}_quiz.md: Quizzes formativos interativos com 3 questões e feedback imediato por alternativa (data-correct="true/false" e data-feedback="...", layout: single).projetos/index.md opcional):
index.md: Hub principal do módulo com a matriz dos 5 blocos, status e callouts (layout: default).topicos/index.md, exercicios/index.md, exemplos/index.md, slides/index.md, quizzes/index.md: Índices setoriais categorizados pelos 5 blocos (layout: default).projetos/index.md: Aponta para os projetos correspondentes em catalogo_projetos/.A ordem e os identificadores seguem _data/cursos.yml: módulos por fase (mod_01 a mod_14), especializações por área (espec_*) e guias (extra_*). Os nomes de pastas foram padronizados sem preposições/artigos no PR #38 (com redirecionamento automático das URLs antigas via _data/renomes.yml e 404.html). Os projetos práticos ficam em catalogo_projetos/ (185 projetos em 18 grupos e 23 séries).
| # | Identificador Canônico da Pasta | Nome na home (_data/cursos.yml) |
Estrutura Padrão Ouro | Artefatos Sincronizados |
|---|---|---|---|---|
| 1 | mod_01_fundamentos_computacao |
Módulo 01: Fundamentos da Computação | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 2 | mod_02_logica_algoritmos |
Módulo 02: Lógica e Algoritmos | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 3 | mod_03_git_github |
Módulo 03: Git e GitHub | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 4 | mod_04_html5_css3 |
Módulo 04: HTML5 e CSS3 | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 5 | mod_05_javascript_dom |
Módulo 05: JavaScript e DOM | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 6 | mod_06_design_ui_ux |
Módulo 06: Design UI/UX e Acessibilidade | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 7 | mod_07_backend_apis |
Módulo 07: Backend e APIs REST | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 8 | mod_08_bancos_dados |
Módulo 08: Bancos de Dados SQL e NoSQL | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 9 | mod_09_estruturas_dados |
Módulo 09: Estruturas de Dados | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 10 | mod_10_paradigmas_padroes |
Módulo 10: Paradigmas e Padrões de Projeto | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 11 | mod_11_qualidade_testes |
Módulo 11: Qualidade e Testes | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 12 | mod_12_desenvolvimento_seguro |
Módulo 12: Desenvolvimento Seguro | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 13 | mod_13_devops_cloud |
Módulo 13: DevOps e Cloud | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 14 | mod_14_hardware_compiladores |
Módulo 14: Hardware, SOs e Compiladores | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 15 | espec_backend_java_springboot |
Especialização Backend: Java e Spring Boot | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 16 | espec_backend_python_fastapi |
Especialização Backend: Python e FastAPI | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 17 | espec_backend_php_laravel |
Especialização Backend: PHP e Laravel | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 18 | espec_backend_go_gin |
Especialização Backend: Go e Gin | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 19 | espec_sistemas_typescript |
Especialização Frontend: TypeScript | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 20 | espec_frontend_vue |
Especialização Frontend: Vue.js | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 21 | espec_frontend_react |
Especialização Frontend: React | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 22 | espec_frontend_angular |
Especialização Frontend: Angular | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 23 | espec_frontend_svelte |
Especialização Frontend: Svelte e SvelteKit | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 24 | espec_full_stack |
Especialização Full Stack: Aplicações Full Stack | 🔄 Blocos 1–2 Grau A (3–5 em curso) | 100 Artefatos + 7 Índices |
| 25 | espec_mobile_android |
Especialização Mobile: Android nativo | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 26 | espec_multiplataforma_flutter |
Especialização Mobile: Flutter | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 27 | espec_sistemas_c |
Especialização Sistemas: C (C17/C23) | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 28 | espec_sistemas_cpp |
Especialização Sistemas: C++ | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 29 | espec_sistemas_rust |
Especialização Sistemas: Rust | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 30 | espec_sistemas_go |
Especialização Sistemas: Go | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 31 | espec_sistemas_java |
Especialização Sistemas: Java 21 | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 32 | espec_sistemas_csharp |
Especialização Sistemas: C# e .NET | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 33 | espec_sistemas_python |
Especialização Sistemas: Python 3.12 | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 34 | espec_cientifica_matlab |
Especialização Sistemas: MATLAB e Simulink | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 35 | extra_linguagens_programacao |
Guia: Linguagens de Programação | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 36 | extra_engenharia_software |
Guia: Engenharia de Software e UML | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 37 | extra_ferramentas |
Guia: Ferramentas do Dev | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 38 | extra_redes |
Guia: Redes e Protocolos | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 39 | extra_inteligencia_artificial |
Guia: Inteligência Artificial | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| 40 | extra_markdown |
Guia: Markdown e Jekyll | ✅ 100% Homologado | 100 Artefatos + 6 Índices |
| — | catalogo_projetos |
Catálogo de Projetos Práticos (18 grupos, 23 séries) | ✅ 185 Projetos Homologados | Guias, Código, Diagramas SVG |
Detalhes e histórico em PLANO_PAGINAS_INTERNAS_UI_UX.html (etapas 1 a 5 publicadas pelo PR #33; navegação manual removida de ~4.700 páginas pelo PR #41).
| Parte | Onde fica | Observação |
|---|---|---|
| Nomes e ordem dos cursos | _data/cursos.yml |
Fonte única: home, grade (_scripts/build_indice_geral.py), barra lateral e breadcrumb. |
| Capítulos por curso | _data/navigation.yml |
Gerado por python _scripts/gerar_navigation_yml.py (curso: slug/nome/icone; capítulo: num/label). Rodar de novo ao criar ou renomear capítulos. |
| Barra lateral, breadcrumb, abas e cards anterior/próximo | _includes/nav_list, breadcrumbs.html, chapter-context.html, chapter-tabs.html, chapter-pager.html |
Entram por overrides do tema (page__meta.html, post_pagination.html) nos layouts single e slide; proibida navegação escrita à mão (regra 5 do check_estrutura_portal.py). |
| Cores | Tokens --ph-* em _includes/head/custom.html; assets/css/main.scss (escuro) e main-light.scss (claro) |
Mesmos valores da home. O botão claro/escuro alterna a classe html.theme-light. |
| Slides | _layouts/slide.html |
Herda o layout default do tema (barra do topo, busca, tema e rodapé do site). |
| Rodapé | _includes/footer.html e _data/rodape.yml |
Os links são os mesmos do rodapé da home. |
| Busca (Ctrl+K) | _plugins/search_index.rb gera search.json; a busca fica em _includes/head/custom.html |
Índice sem código nem Mermaid; comparação por palavra inteira ou início de palavra. search: false no front matter tira uma página do índice. |
O catálogo fica em catalogo_projetos/ (185 projetos). Os cursos usam os prefixos mod_NN_, espec_ e extra_, e cada <curso>/projetos/ tem só o index.md, que aponta para o catálogo. Nomes antigos (spec_*, proj_aplicacoes_full_stack) são redirecionados por _data/renomes.yml. Regra de organização: a stack é o critério principal; só o grupo Full Stack tem séries com stack variada.
| Parte | Onde fica | Observação |
|---|---|---|
| Catálogo (fonte única) | _data/projetos.yml |
18 grupos, 23 séries, 185 projetos. Projeto novo ou renomeado precisa entrar aqui. |
| Verificadores do CI | _scripts/check_projetos_yml.py, check_estrutura_portal.py, test_links.py, check_mermaid.py, validate_liquid.py, gerar_guia_projeto.py --check, gerar_svg_arquitetura.py --check, testar_projetos_c.py |
check_estrutura_portal.py tem 5 regras: nomes de pasta, projetos/ só com index.md, tabela com linha em branco antes e depois, sem <T> solto nos quizzes e sem navegação escrita à mão. O validate_liquid.py confere toda página com front matter, catálogo incluído. O check_mermaid.py valida a sintaxe de todos os 2.305 diagramas Mermaid no site gerado via Chrome headless. Os diagramas assets/arquitetura_*.svg são gerados do código. |
| Página do catálogo e painel | catalogo_projetos/index.md e status.md + _includes/catalogo-projetos.html e status-projetos.html |
Gerados do YAML. A home mostra os dois cards logo abaixo da abertura. |
| Navegação de capítulo | _includes/chapter-tabs.html e chapter-pager.html |
Abas no topo e cartões anterior/próximo, gerados pelo layout single (e slide). Páginas de capítulo não têm navegação escrita à mão. |
| Navegação de série | _includes/serie-nav.html |
“Série X · Parte N de M” nos projetos do catálogo. |
| Guia autoguiado com gabarito | _scripts/gerar_guia_projeto.py |
Gera o guia a partir do template e confere o gabarito contra o código. |
Feito e publicado (main): migração dos projetos dos cursos para o catálogo; renomeação única (catalogo_projetos/, espec_, nomes encurtados) com redirecionamentos (PR #38); 102 links corrigidos e test_links.py checando todas as páginas (PR #39); home com “Projetos práticos” no topo e sem a busca duplicada (merge 9fe614ec); piloto do Bloco 1 do Full Stack (PR #40); navegação de capítulo só pelo layout (PR #41); catálogo no Padrão Ouro com as correções da padronização, 41 projetos marcados 🚧 e o 401 dos fullstack_estoque_01/02 (PR #42); uma fila de CI por branch/PR (PR #43); TecLoja 02 descrevendo o código real (composables, PR #44); numeração dos exercícios corrigida em 67 cadernos (PR #45); auditoria de exercícios por conteúdo, a R7 (PR #46); Bloco 2 do Full Stack (PR #47); checkout da TecLoja 01, 03 e 04 sem vender o último item várias vezes (PR #48); python_web_tarefas_01_fastapi no Padrão Ouro com revisão para rodar direto no computador do aluno (PR #49); 41 diagramas Mermaid corrigidos e validação de todos os diagramas no CI via check_mermaid.py (PR #50); planos de melhoria e ponto de retomada sincronizados (PR #51).
📍 Onde paramos (2026-10-18)
Frente 2: levar o
espec_full_stackdo Grau C ao Grau A (plano emdocs/PLANO_FRENTE2_ESPEC_FULL_STACK_2026-10-04.md). Os Blocos 1 (caps 01–04, PR #40) e 2 (caps 05–08, PR #47) já estão aprovados e publicados namain; os Blocos 3–5 seguem o mesmo padrão, um PR por bloco, sem nova revisão obrigatória.Exercícios (R4 + R7, feitos): a varredura mostrou exercícios rasos em quase todo o site (nota C em 35 cursos) e genéricos em 4 (nota D: MATLAB, Svelte,
extra_redes,mod_03); só omod_10passa. Detalhes e roteiro na seção 0 dedocs/PLANO_DE_MELHORIA_40_CURSOS.md. O usuário aprovou a opção A: corrigir primeiro os genéricos.⏸️ Ponto de retomada: histórico dos PRs #40 a #50, roteiro e como montar o ambiente em
PLANO_RETOMADA_2026-10-04.Próximos passos, nesta ordem (opção A):
- Blocos 3–5 do Full Stack, um PR por bloco. Próximo imediato: Bloco 3 (caps 09 a 12; o cap 09 continua genérico e deve ser reescrito, embora a auditoria não o acuse mais).
mod_03_git_github, depoisespec_cientifica_matlabeespec_frontend_svelte, depoisextra_redes(com a ordem dos capítulos).- Evolução dos demais projetos
python_web_*_fastapie correções mapeadas no Catálogo.- Depois da opção A: trilha principal (
mod_*) no padrão do piloto, curso a curso (opção B).Pendências conhecidas:
fullstack_tecloja_03_nest_reactnão tem rota de checkout noapi-nest;- as caixas “Trilha de Especialização” dos
fullstack_tecloja_01/03/04dizem “Projeto 1 de 4” e descrevem uma trilha que não existe (a navegação de série correta já sai do_data/projetos.yml);- 41 projetos 🚧 sem plano para completar ou retirar; ~118 páginas do catálogo no modelo novo auditadas só por amostragem;
fullstack_estoque_01mantém de propósito o 500 no lugar do 403 e oProdutoControllerTestquebrado: a parte 2 (Módulo 03) conta como descobriu e corrigiu;- imagem gerada por IA do VS Code no curso de FastAPI, à espera de captura real.
Dicas operacionais:
- gerar o site sempre pelo PowerShell (
bundle exec jekyll build "--baseurl=/portal_jekyll" "--destination=_site_local"): no Git Bash o/portal_jekyllviraC:/Git/portal_jekylle todos os links absolutos saem quebrados;- antes de abrir PR: gerar o site e rodar
python _scripts/test_links.pyepython _scripts/check_mermaid.py(AGENTS.md, Seção 3, itens 6 e 7); rodargerar_svg_arquitetura.py --checksó depois dogit add, porque ele conta só arquivos rastreados;- o Antigravity trabalha numa branch própria
agy/<tema>criada damain(AGENTS.md, Seção 4);- no Windows, o
gitdo Git Bash pode dar “Out of memory” emswitch/rebasegrandes (e deixar passos do rebase sem gravar): usar ogitdo PowerShell;- rodar
git push, validadores egh runcomo comandos simples (semcd/pipes) para casar com as regras de.claude/settings.local.json; se o classificador falhar, usar! git push origin main;- o bash do Git for Windows não tem
jq: filtrar saída do GitHub com o--jqembutido dogh(ex.:gh run list --json status,conclusion --jq '.[0]'), ou instalar comwinget install jqlang.jq;- o script de auditoria de profundidade regrava
docs/RELATORIO_AUDITORIA_PROFUNDIDADE_CURSOS.mde o.json: descartar se a mudança não for intencional.
| 🏠 Voltar ao Início do Portal | 📚 Ver Índice de Documentação |