docs(tp): remove checklists e escopo de TP do repo

Mantém só visão da disciplina e tutorial Ping em docs/tp/;
documentação técnica sem tabelas de verificação para entrega.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Gabriel Felipe Souza SantosandCursor committed 2026-10-27 21:41:48 -03:00
1 parent aa75cebaaa
commit baaf7582d3
9 files changed
+42 -109

No files matched your search

@@ -72,7 +72,7 @@ Lista de peers ativos
| Timeout de ausência | ~15 s | Peer some após queda ou fechamento sem goodbye |
| Goodbye | multicast ao sair | Remove peer mais rápido que só timeout |
Em **Wi‑Fi de laboratório**, heartbeat usa o mesmo multicast que o chat na sala geral — mesma porta no login, mesma sub-rede, sem isolamento AP→AP. Checklist: [appendix_portas_e_multicast.md](appendix_portas_e_multicast.md).
Em **Wi‑Fi de laboratório**, heartbeat usa o mesmo multicast que o chat na sala geral — mesma porta no login, mesma sub-rede, sem isolamento AP→AP. Ver [appendix_portas_e_multicast.md](appendix_portas_e_multicast.md).
```mermaid
flowchart LR
+1 -12
View File
@@ -2,18 +2,7 @@
Complementa [09_sistema_de_plugins.md](09_sistema_de_plugins.md). Use `plugins/chat` como **modelo de estrutura** (Ant, SPI, painel).
Os exemplos abaixo são **parciais** — você completa métodos, UI e testes.
## Verificações progressivas
| Etapa | O que fazer | Sucesso | Erro comum |
| --- | --- | --- | --- |
| Projeto Ant | Copiar `plugins/chat` → `plugins/meuPlugin`, ajustar JAR | `ant jar` OK | Classpath sem `pitiupi.jar` |
| Classe `Plugin` | Estender `Plugin`, metadados | Compila | `createPlugin` com assinatura antiga |
| SPI | `META-INF/services/pitiupi.models.Plugin` | Classe listada no JAR | Arquivo fora de `src/` |
| Mensagem | Uma classe `extends Message` | Em `getMessages()` | Tipo não registrado → ignorado na rede |
| Instalação | JAR em `PITIUPI_HOME/plugins` + reinício | Plugin na galeria | Esqueceu reiniciar |
| Rede | Duas instâncias, portas diferentes | Peer na lista | Portas iguais no mesmo PC ou firewall |
Os exemplos abaixo são **parciais** — complete métodos, UI e testes conforme o seu módulo.
## 1. Novo projeto
+2 -2
View File
@@ -34,7 +34,7 @@ Depois, para runtime local:
./scripts/pitiupi.sh link --all
```
## Checklist manual — uma máquina (5000 / 5001)
## Testes manuais — uma máquina (5000 / 5001)
- [ ] Duas instâncias com portas distintas; nomes diferentes
- [ ] Peers visíveis na lista em até ~15 s
@@ -43,7 +43,7 @@ Depois, para runtime local:
- [ ] Compose do chat sem barra de rolagem vazio em janela ~1024×768
- [ ] Encerrar uma instância remove o peer após timeout de heartbeat
## Checklist manual — dois PCs (mesma Wi‑Fi)
## Testes manuais — dois PCs (mesma Wi‑Fi)
Mesma **porta** em ambos (ex. 5000), **mesmos JARs** em `~/pitiupi/plugins` em cada máquina:
@@ -37,7 +37,7 @@ O núcleo associa o socket multicast à interface de rede preferida: **cabo (Eth
Ao abrir conversa pela lista de presença, o campo de destino usa **`PeerIpv4`**: IPv4 pontilhado legível, sem forma IPv6-mapeada (`::ffff:…`) nem sufixo de zona (`%7`). Ver [decision-register.md](../decision-register.md) (D22).
## Checklist — dois PCs na mesma Wi‑Fi
## Dois PCs na mesma Wi‑Fi
1. **Mesma porta no login** (ex.: `5000` nos dois). Portas diferentes isolam a sala.
2. **Configurações → Sua conexão:** IPs na mesma sub-rede (ex. ambos `192.168.0.x` ou `192.168.1.x`). Se um for `172.x` (WSL/Docker) e outro `192.168.x`, o multicast entre esses hosts não cruza.
+29
View File
@@ -0,0 +1,29 @@
# Visão da disciplina
## Papel do Pitiupi
O Pitiupi é uma **plataforma P2P com plugins** usada em Redes de Computadores para:
- Experimentar UDP (multicast/unicast) e TCP na mesma aplicação.
- Observar **presença** de peers (heartbeat) sem servidor central de aplicação.
- Relacionar conceitos de redes com código Java executável na LAN.
O núcleo concentra rede, presença e interface; extensões entram como plugins em JAR.
## Plugins de referência no repositório
| Módulo | Ideia |
| --- | --- |
| `plugins/chat` | Mensagens e vários transportes (multicast, unicast, TCP) |
| `plugins/screencast` | Payload maior / streaming de imagem |
Detalhes técnicos: [11_plugins_referencia.md](../documentation/11_plugins_referencia.md).
## Exercício em sala
O passo a passo do **Ping** (mensagens na rede, RTT, UI mínima) está em [02_tutorial_ping_aula.md](02_tutorial_ping_aula.md).
## Aprofundamento técnico
- Primeiro uso: [00_quickstart.md](../documentation/00_quickstart.md)
- Rede e protocolos no código: [16_fundamentacao_redes.md](../documentation/16_fundamentacao_redes.md) e capítulos 05–08 em [documentation/](../documentation/README.md)
-47
View File
@@ -1,47 +0,0 @@
# Visão da disciplina e trabalho prático
## Papel do Pitiupi
O Pitiupi é uma **plataforma P2P com plugins** usada em Redes de Computadores para:
- Experimentar UDP (multicast/unicast) e TCP na mesma aplicação.
- Observar **presença** de peers (heartbeat) sem servidor central de aplicação.
- Desenvolver **trabalhos individuais ou em grupo** como novos plugins (jogos, ferramentas colaborativas, etc.).
O núcleo fornece rede e GUI; o aluno implementa a lógica no plugin.
## Trabalho típico (plugin)
Cada equipe/aluno entrega um **módulo Java separado** que:
1. Compila para JAR e carrega via `pitiupi/plugins/`.
2. Define mensagens (`extends Message`) e o fluxo entre peers.
3. Integra UI na aba central via `PluginWorkspace` e peer actions na lista lateral.
4. Inclui README do módulo (build + protocolo).
Exemplos de tema: chat temático, tabuleiro (xadrez/damas), compartilhamento de arquivo, quiz síncrono.
## Plugins de referência no repositório
| Módulo | Ideia pedagógica |
| --- | --- |
| `plugins/chat` | Mensagens UDP + UI simples |
| `plugins/screencast` | Payload maior / streaming de imagem |
| `plugins/chat` | Multicast, unicast, TCP e canal TCP privado |
Detalhes: [11_plugins_referencia.md](../documentation/11_plugins_referencia.md).
## Critérios genéricos (ajustar na disciplina)
| Critério | Indicador |
| --- | --- |
| Funcionalidade | Comportamento correto entre dois+ peers na rede da sala |
| Uso da plataforma | SPI, mensagens, sem “fork” desnecessário do núcleo |
| Build | `ant jar` / `make` reproduzível |
| Documentação | README do plugin + descrição das mensagens |
## Para monitores
- Roteiro de build: [00_quickstart.md](../documentation/00_quickstart.md).
- Checklist de entrega: [03_checklist_entrega.md](03_checklist_entrega.md).
- Fundamentação para dúvidas de alunos: [16_fundamentacao_redes.md](../documentation/16_fundamentacao_redes.md).
+1 -13
View File
@@ -2,7 +2,7 @@
Exercício para montar o plugin **mais simples** do Pitiupi: medir **RTT** (tempo de ida e volta) com mensagens `Ping` / `Pong` na rede, igual a um `ping` de laboratório — mas usando o **mesmo mecanismo de plugins** do chat e do screencast.
A solução completa **não** entra no repositório público: o aluno desenvolve em `plugins/ping/` na máquina local (fora do gate CI). Este tutorial traz escopo, trechos e verificações — você implementa o restante.
A solução completa **não** entra no repositório público: o exercício é montado em `plugins/ping/` na máquina local (fora do gate CI). Este tutorial descreve escopo, trechos e passos — o restante é implementado em sala.
Índice TP: [README.md](README.md) · Plugins de referência: [11_plugins_referencia.md](../documentation/11_plugins_referencia.md).
@@ -38,8 +38,6 @@ A solução completa **não** entra no repositório público: o aluno desenvolve
2. Renomeie o projeto para `pitiupi.ping` e o JAR de saída para `dist/pitiupi.ping.jar`.
3. Classpath de compilação: `../../pitiupi/dist/pitiupi.jar`.
**Verificação:** `ant jar` sem erros.
## Passo 2 — SPI
Arquivo `src/META-INF/services/pitiupi.models.Plugin`:
@@ -143,13 +141,3 @@ O chat usa a mesma ideia de abas de sessão, mas adiciona roteamento TCP privado
| Aba não abre | Esqueceu `bindShellWorkspaceContent` ou peer action só abre UI (envio é no painel) |
Mais geral: [10_tutorial_plugin.md](../documentation/10_tutorial_plugin.md#problemas-comuns).
## Checklist do aluno
- [ ] SPI e `getIdentifier` únicos
- [ ] Três mensagens registradas
- [ ] RTT calculado no `Pong`
- [ ] Aba passiva `↓` ao receber ping de peer novo (sem roubar foco da shell)
- [ ] Contínuo + parar com aviso ao peer
- [ ] Reinício após instalar JAR
- [ ] Teste com segundo usuário (5001 ou outro PC)
-23
View File
@@ -1,23 +0,0 @@
# Checklist de entrega — trabalho prático
Complementa os testes do produto em [15_testes_e_gate.md](../documentation/15_testes_e_gate.md).
## Rede em sala (dois PCs, mesma Wi‑Fi)
Mesma **porta** em ambos (ex. 5000), **mesmos JARs** de referência em `~/pitiupi/plugins` em cada máquina:
- [ ] Presença e linha **Todos**
- [ ] Troca de mensagens no chat (multicast e, se possível, unicast/TCP)
- [ ] Compartilhamento de tela entre os dois (ambiente com captura de tela funcional — no WSL a captura nativa pode falhar)
- [ ] Plugin **Ping** ( [02_tutorial_ping_aula.md](02_tutorial_ping_aula.md) ) medindo RTT — recomendado antes da entrega final
## Plugin entregue (seu trabalho)
- [ ] JAR em `PITIUPI_HOME/plugins` + SPI correto
- [ ] README do módulo com build e formato das mensagens
- [ ] UI na aba (`PluginWorkspace`), sem `JFrame` principal
- [ ] Demonstração mínima professor ↔ aluno ou aluno ↔ aluno
## Ping (exercício de sala)
- [ ] Concluído conforme checklist em [02_tutorial_ping_aula.md](02_tutorial_ping_aula.md)
+7 -10
View File
@@ -1,15 +1,12 @@
# Trabalho prático — Redes de Computadores
# Material da disciplina — Redes de Computadores
Material da disciplina: visão do TP, exercício **Ping** em sala e checklists de entrega.
Contexto do uso do Pitiupi na disciplina e o **tutorial do plugin Ping** para construir em sala.
Para **uso do Pitiupi, protocolos e desenvolvimento de plugins em geral**, use a documentação técnica em [documentation/](../documentation/README.md).
Para protocolos, núcleo e plugins em geral: [documentation/](../documentation/README.md).
## Ordem sugerida
| # | Documento |
| Documento | Conteúdo |
| --- | --- |
| 1 | [01_visao_disciplina_e_tp.md](01_visao_disciplina_e_tp.md) |
| 2 | [02_tutorial_ping_aula.md](02_tutorial_ping_aula.md) |
| 3 | [03_checklist_entrega.md](03_checklist_entrega.md) |
| [01_visao_disciplina.md](01_visao_disciplina.md) | Papel do Pitiupi na disciplina |
| [02_tutorial_ping_aula.md](02_tutorial_ping_aula.md) | Exercício Ping em sala (o que é e como montar) |
Esta pasta pode ser removida localmente após o semestre; o núcleo e `docs/documentation/` continuam válidos para qualquer extensão do projeto.
Esta pasta pode ser removida localmente depois; `docs/documentation/` descreve o projeto de forma independente.