Projeto do Módulo 10 · Portfólio técnico publicado
Duração: 16 horas-aula. Formato: individual. Cada aluno monta o próprio portfólio. Ferramentas: editor de texto, Git, Python (servidor local), GitHub Pages ou itch.io (conforme a escola).
A proposta
Montar uma página que apresenta os jogos feitos no curso, do primeiro ao mais recente. Para cada jogo, um cartão com imagem ou GIF, ferramenta, o que o aluno fez, o que aprendeu e, quando houver exportação para web, um botão para jogar. A página fica num repositório com histórico e, onde a escola liberar, publicada com um link.
O projetos/portfolio-modelo/ é o ponto de partida. A aluna fictícia "Ana Clara" deve sumir: nome, apresentação e cartões são do aluno.
Requisitos obrigatórios
| Nº | Requisito | Aula |
|---|---|---|
| 1 | Pelo menos 4 jogos do curso, cada um com cartão completo | 10.7 |
| 2 | Pelo menos 2 GIFs feitos pelo aluno (jogos em Godot) e fotos de tela dos outros | 10.6 |
| 3 | Pelo menos 1 jogo jogável pelo botão "Jogar no navegador" | 10.7, 3.11 |
| 4 | Apresentação própria, em texto justificado, sem dados pessoais | 10.5 |
| 5 | Textos alternativos (alt) em todas as imagens | 10.7 |
| 6 | Caminhos relativos; nomes de pastas sem acento e sem espaço | 10.7 |
| 7 | Página sem rolagem para o lado na largura de celular | 10.7 |
| 8 | Total da pasta com menos de 10 MB, com a tabela de antes e depois | 10.8 |
| 9 | Repositório com .gitignore, README e pelo menos 8 commits com mensagens claras | 10.3 a 10.5 |
| 10 | Plano de testes do portfólio (todos os links e botões) preenchido | 10.2 |
| 11 | Créditos de tudo que não foi feito pelo aluno | 9.2, 10.5 |
| 12 | Publicado com link (onde a escola liberar) ou, sem conta, testado em localhost com foto | 10.7 |
Cronograma sugerido (16 h)
| Horas | Etapa | Entrega parcial |
|---|---|---|
| 2 | Escolher os jogos, escrever apresentação e cartões no papel | textos revisados pela dupla |
| 3 | GIFs e fotos de tela | pasta imagens/ |
| 3 | Copiar o modelo, montar cartões e colocar os jogos exportados | página no localhost |
| 2 | Testes: plano, celular, tamanho | plano preenchido |
| 2 | Repositório, README, commits | histórico |
| 2 | Publicação (ou teste final em localhost) | link ou foto |
| 2 | Mostra: cada aluno apresenta o portfólio em 3 minutos | apresentação |
O que entregar
- Pasta do portfólio (com os jogos exportados dentro de
jogos/). - Link publicado ou foto da página no
localhost. - Plano de testes do portfólio e tabela de antes e depois do tamanho.
- Histórico do Git (
git log --onelinecopiado no diário).
Rubrica do projeto (28 pontos, convertidos para 4,0)
| Critério | 1 (iniciando) | 2 (em desenvolvimento) | 3 (adequado) | 4 (avançado) |
|---|---|---|---|---|
| Conteúdo | menos de 4 jogos ou cartões vazios | cartões genéricos | 4 jogos ou mais, com o que fez e o que aprendeu | textos que mostram evolução de um jogo para o outro |
| Imagens e GIFs | sem imagens | imagens sem alt ou pesadas | 2 GIFs próprios, fotos e alt em todas | GIFs escolhendo o melhor momento de cada jogo |
| Funcionamento | links quebrados | parte dos links funciona | todos os links e o jogo abrem em localhost | testado também em outro aparelho |
| Acessibilidade e celular | não abre bem no celular | abre com rolagem para o lado | sem rolagem para o lado, texto legível | testado com leitor de tela ou contraste alto |
| Otimização | não mediu | mediu sem mudar | menos de 10 MB com tabela de antes e depois | justificou cada escolha de formato |
| Versões e documentação | sem repositório | poucos commits sem mensagem clara | 8 commits claros, README, créditos | histórico conta a história do portfólio |
| Apresentação | não apresenta | lê a tela | apresenta em 3 minutos e responde perguntas | adapta a fala para quem está ouvindo (colega, família, entrevista) |
Nota = soma ÷ 7.
Questões de saída (individuais, 20 minutos)
- A mensagem diz
Invalid access to property or key 'Suco' on a base object of type 'Dictionary'eat: total (res://scripts/caixa.gd:26). O que aconteceu e onde? - Qual a diferença entre erro de execução e erro de lógica? Dê um exemplo de cada.
- Quais campos não podem faltar num relatório de falha?
- Para que serve o
.gitignorenum projeto Godot? - Por que testar com
python -m http.serverantes de publicar?
Gabarito
- O código pediu ao dicionário a chave
Suco, que ele não tem (lá estásuco, minúsculo). Foi na funçãototal, linha 26 decaixa.gd. - Execução: o jogo para e o Godot mostra mensagem (a chave
Suco). Lógica: o jogo roda, mas dá resultado errado (conta de R$ 9,00 em vez de R$ 12,50). - Título, passos para repetir, resultado esperado, resultado obtido, frequência, gravidade, ambiente (e, de preferência, um anexo).
- Deixar fora do repositório a pasta
.godot/, que o Godot recria sozinho. - Porque ele entrega os arquivos do mesmo jeito que a internet: caminhos errados e arquivos faltando aparecem antes de publicar.