Files
pitiupi/docs/tp/01_visao_disciplina_e_tp.md
T
Gabriel Felipe Souza SantosandCursor aa75cebaaa docs: separar material de TP em docs/tp/
documentation/ fica neutra (produto); visão TP, tutorial Ping e
checklists de entrega movem para docs/tp/ sem link reverso.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-27 21:37:03 -03:00

48 lines
1.9 KiB
Markdown

# 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).