Files
pitiupi/docs/documentation/01_visao_disciplina_e_tp.md
T
Gabriel Felipe Souza SantosandCursor 42e70af48b refactor(plugins): SPI workspace-only e remoção de menus legados
Remove GuiManager e pitiupi.models.Menus; atualiza chat/screencast, docs e testes (ConfigLoader, TcpConnectionManager).

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

1.8 KiB

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.

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