Levantamento dos cursos que ainda guardam projetos dentro da própria pasta <curso>/projetos/ e plano para levá-los ao hub central (proj_aplicacoes_full_stack/projetos/), no mesmo padrão dos projetos já migrados: código real versionado, entrada no _data/projetos.yml e tutorial autoguiado com checkpoints.


1. Regra-alvo

<curso>/projetos/ contém apenas o index.md, que lista os projetos do curso com links para o hub. Todo projeto (código, guia, assets) mora no hub e está registrado no _data/projetos.yml.

Hoje 36 cursos têm pasta projetos/; 32 já seguem a regra e 4 não.


2. Diagnóstico (levantamento pelos arquivos versionados)

Curso O que há em projetos/ além do index.md Natureza real Situação no hub
spec_sistemas_com_c 20 páginas NN_slug.md (200–360 linhas cada) 20 miniprojetos de verdade, 1 por capítulo, com enunciado, requisitos, esqueleto, critérios de aceite e gabarito em C ❌ Nenhum no hub. O hub tem só sistemas_c_01_db_binario, que nenhum curso aponta e se sobrepõe ao Miniprojeto 18
spec_sistemas_com_java 4 arquivos .zip (contador, blackjack, genius, sons do genius) Cópias compactadas de projetos ✅ Já estão no hub: o código dos 4 zips é idêntico a javadesk_contador_02_javafx, javadesk_blackjack_javafx, javadesk_genius_03_sound e aos .wav de javadesk_genius_01_swing. Sobra só configuração do IntelliJ (.idea/*.xml). Nenhuma página linka os zips
spec_sistemas_com_python 3 páginas: miniprojetos_introdutorios.md, trilha_evolutiva.md, relatorio_complexidade_10_projetos.md Páginas de currículo, não projetos. A trilha especifica 10 projetos integradores: 4 existem no hub (sistemas_python_01…04, marcados “Curso v1–v4”) e 6 são só especificação. A trilha e o relatório não linkam o hub ⚠️ 4 de 10
spec_mobile_nativo_android _prompt_revisao_projeto.md Prompt de IA para revisar projetos (ferramenta interna; o _ impede a publicação) — Não é projeto

2.1 Qualidade dos 20 miniprojetos de C (testado)

O gabarito de cada miniprojeto foi extraído do Markdown e compilado com gcc -std=c17 -Wall -Wextra:

Resultado Miniprojetos
✅ Compila sem nenhum aviso 18 de 20: 01–16, 18 e 19
🧩 Multiarquivo (5 blocos: .h, .c, Makefile) 17: precisa virar projeto com vários arquivos reais e make
🐧 Só POSIX (sys/socket.h, pthread) 20: não compila no MinGW do Windows; precisa de Linux/WSL/Docker ou de uma camada Winsock

Os miniprojetos já têm uma boa espinha pedagógica (objetivos → enunciado → requisitos → arquitetura Mermaid → esqueleto → critérios de aceite → compilação → gabarito → desafio). Falta transformá-la em passos com checkpoints verificáveis, como no guia do fullstack_tarefas_07.


3. O padrão de destino: tutorial autoguiado

É o formato validado no fullstack_tarefas_07_spring_angular, generalizado para qualquer projeto.

3.1 Estrutura de pasta no hub

<id_do_projeto>/
├── index.md                  ← GERADO (não editar à mão)
├── _guia/
│   └── guia.template.md      ← texto do tutorial com marcadores @@INCLUDE caminho@@
├── src/ (ou backend/, frontend/...)  ← código real, o gabarito
├── Makefile / pom.xml / package.json  ← build do projeto
└── tests/ (quando houver)

3.2 Roteiro de cada passo do tutorial

Marcador Conteúdo
🎯 Objetivo O que o passo constrói e por quê (ligado ao capítulo do curso)
⌨️ Faça Comandos e ações
📄 Arquivo Código completo, incluído do arquivo real pelo gerador
✅ Checkpoint Como provar que funcionou: comando + saída esperada
🧯 Se der errado Erros mais comuns naquele passo

Para projetos de estudo (como os miniprojetos de C), o código do gabarito fica recolhido em <details markdown="1"> para o aluno tentar antes de ver a solução; o checkpoint continua sempre visível.

3.3 Gerador compartilhado

O _guia/gerar_guia.py do tarefas_07 vira _scripts/gerar_guia_projeto.py <pasta>:

No CI: python _scripts/gerar_guia_projeto.py --todos --check e, para os projetos de C, compilar src/ com gcc -std=c17 -Wall -Wextra -Werror (o runner Ubuntu já tem gcc e resolve também o Miniprojeto 20).


4. Plano por curso

4.1 Sistemas com C — 20 miniprojetos (o grosso do trabalho)

Destino: 20 projetos no hub, grupo c_cpp, nova série “Miniprojetos C (1 por capítulo)”, partes 01→20.

Nome das pastas (padrão do plano de organização, <stack>_<tema>_<NN>_<slug>):

Atual (spec_sistemas_com_c/projetos/) No hub
01_conversor_bases_e_arquitetura.md c_mini_01_conversor_bases/
02_auditor_tipos_e_limites_memoria.md c_mini_02_auditor_tipos/
… …
18_mini_sgbd_binario_e_acesso_direto.md c_mini_18_sgbd_binario/
20_servidor_multithread_sockets_tcp.md c_mini_20_servidor_tcp_threads/

Conversão de cada miniprojeto:

Seção atual Vira
1–4 Objetivos, Enunciado, Requisitos, Arquitetura Introdução do tutorial + “🎯 Objetivo”
5 Esqueleto de código src/esqueleto.c + Passo 1: copiar, compilar e ver a saída inicial (checkpoint)
6 Critérios de aceite Vira os checkpoints dos passos seguintes, com a saída esperada de cada requisito
7 Guia de compilação “⌨️ Faça” em cada passo + seção de ambiente
8 Gabarito src/main.c (código real, compilado no CI) incluído via @@INCLUDE_GABARITO@@
9 Desafio de extensão “🏆 Desafio” no fim, com checkpoint

Casos especiais:

Fecho: spec_sistemas_com_c/projetos/index.md passa a listar os 20 projetos do hub (mesmos blocos I–V, links novos); as 20 páginas antigas saem; o 404.html ganha um mapa spec_sistemas_com_c/projetos/NN_slug.html → proj_aplicacoes_full_stack/projetos/c_mini_NN_slug/.

4.2 Sistemas com Java — 4 zips redundantes

4.3 Sistemas com Python — páginas de currículo

4.4 Mobile Nativo Android — prompt interno


5. Decisões (aprovadas em 2026-10-03, todas na opção sugerida)

# Decisão Opções ✅ Aprovado
D1 Profundidade da conversão dos 20 miniprojetos de C (a) tutorial completo com passos e checkpoints · (b) só extrair o código real e manter o texto atual (a), mas em lotes de 4 (um bloco do curso por vez), validando o formato no primeiro lote
D2 Mini 18 × sistemas_c_01_db_binario (mesmo tema: SGBD binário com fseek) fundir no Mini 18 · manter os dois (o sistemas_c_01 como extensão “parte 21”) · arquivar o sistemas_c_01 Manter como extensão: o sistemas_c_01 usa alocação dinâmica e Valgrind, um passo além do Mini 18; vira o “Desafio integrador” da série
D3 Mini 20 só compila em POSIX exigir Linux/WSL/Docker · acrescentar #ifdef _WIN32 com Winsock + threads Win32 Exigir Linux/WSL/Docker e documentar no tutorial: o capítulo 20 ensina justamente a API POSIX
D4 Python: trilha, relatório e os 6 projetos só especificados (a) mover trilha/relatório para _artefatos e registrar os 6 como 🚧 no hub · (b) manter publicados como anexos e não criar os 6 · (c) mover para _artefatos sem criar os 6 (b): são páginas úteis ao professor; os 6 projetos entram no hub só quando tiverem código
D5 Ordem em relação à migração do hub para hub_projetos/ migrar agora para o hub atual · esperar a migração do hub Agora: a migração do hub é mecânica e levará estes projetos junto, sem retrabalho de conteúdo

6. Etapas de execução

Etapa Ação Validação Situação
0 Generalizar o gerador para _scripts/gerar_guia_projeto.py (+ @@INCLUDE_GABARITO@@, --todos), migrando o tarefas_07 para ele --check verde. O tarefas_07 original foi para _analise_delecao/ na reescrita da série; o script novo não depende dele. ✅ 2026-10-03
1 Lote-piloto C: Miniprojetos 01–04 (Bloco I) no formato novo Os 4 compilam no CI; --check verde; revisão do formato pelo usuário. Feito: c_mini_01…04 com src/esqueleto.c, src/main.c e tests/*.saida.txt; _scripts/testar_projetos_c.py compila com -Werror e compara a saída de cada checkpoint. ✅ 2026-10-03 (formato aprovado)
2 Lotes C seguintes: 05–07, 08–09, 10–12, 13–16, 17–20 (casos especiais no último lote) Idem, lote a lote ✅ 2026-10-03
3 _data/projetos.yml: série c_mini + 20 projetos; decisão D2 aplicada ao sistemas_c_01 check_projetos_yml.py verde; Super-Hub e painel de status mostram a série ✅ 2026-10-03 (sistemas_c_01 = parte 21)
4 Curso de C: projetos/index.md reescrito com links do hub; remover as 20 páginas antigas; mapa no 404.html test_links.py sem links quebrados; 3 URLs antigas redirecionando no build local ✅ 2026-10-03 (índice gerado do YAML nos 7 blocos do curso; mapa no 404.html)
5 Java: remover os 4 zips git grep sem referências ✅ 2026-10-03 (conteúdo dos 3 READMEs conferido por texto normalizado: tudo já estava no hub, com correções; as linhas de “Assessment” já tinham sido portadas)
6 Python: aplicar D4; linkar sistemas_python_01…04 na trilha test_links.py ✅ 2026-10-03 (guia dos miniprojetos virou seção do índice, com redirecionamento; trilha e relatório linkam os 4 projetos prontos; nomes de pasta errados no relatório corrigidos)
7 Android: mover o prompt interno — ✅ 2026-10-03 (_artefatos/prompt_revisao_projeto.md)
8 Verificação final da regra-alvo: script que falha se algum <curso>/projetos/ tiver algo além do index.md (exceto anexos aprovados em D4) Entra no CI ✅ 2026-10-03 (check_estrutura_portal.py, que também confere os nomes das pastas da raiz — D14 do plano do hub)

Cada etapa em commit próprio; push só no final (ou por lote, se preferir revisar no site publicado).


7. Riscos

Risco Mitigação
Checkpoints com saída esperada diferente da real O checkpoint é tirado executando o gabarito (src/) no momento da conversão, não copiado do texto antigo
Divergência futura entre tutorial e código Gerador com --check no CI (mesmo mecanismo do tarefas_07)
Warnings em outro compilador (MinGW × gcc Linux) CI compila com -Werror no Ubuntu; o tutorial indica os dois ambientes
Links antigos para as páginas de C Mapa de redirecionamento no 404.html

⬅️ Voltar à Central de Documentação 🏠 Página Inicial