Entrega v1 aula: shell com abas, PITIUPI_HOME e plugins de referência.

Consolida núcleo (presença, peer actions, MessageDispatcher), chat e screencast na galeria, documentação PT-BR e testes JUnit; remove mpChat do catálogo em favor do chat unificado.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Gabriel Felipe Souza SantosandCursor committed 2026-10-27 11:08:21 -03:00
1 parent b10c196fc9
commit eeb1936f6d
178 files changed
+7641 -1481

No files matched your search

+15 -23
View File
@@ -1,36 +1,28 @@
# Módulos do repositório
```
pitiupi/ # clone (este repositório)
├── plugins.registry.json # catálogo de módulos (build/link via scripts/pitiupi.sh)
pitiupi/ # clone (este repositório)
├── plugins.registry.json
├── scripts/pitiupi.sh
├── pitiupi/ # núcleo P2P (executável)
├── pitiupi.chat/ # plugin referência — chat
├── pitiupi.screenCast/ # plugin referência — captura de tela
├── pitiupi.mpChat/ # plugin referência — chat multi-protocolo
└── docs/ # documentação canônica
├── pitiupi/ # núcleo P2P (executável)
├── plugins/
│ ├── chat/ # chat unificado (UDP/multicast/TCP + TCP privado)
│ ├── screencast/ # compartilhamento de tela
│ └── ping/ # exercício de aula (só doc)
└── docs/
```
## Núcleo (`pitiupi/`)
- **Build:** Apache Ant (`build.xml`, `nbproject/`).
- **Entrada:** `pitiupi.Main` → login → `MainWindow`.
- **Pacotes principais:** `pitiupi.net`, `pitiupi.control`, `pitiupi.GUI`, `pitiupi.models`.
- **Build:** Apache Ant.
- **Entrada:** `pitiupi.Main` → login → `MainShellFrame`.
- **Messaging:** `pitiupi.application.messaging.MessageDispatcher`.
## Plugins de referência
| Pasta | Build | JAR típico | Classe SPI |
| Pasta | Build | JAR típico | SPI |
| --- | --- | --- | --- |
| `pitiupi.chat` | `ant jar` | `dist/pitiupi.chat.jar` | `pitiupi.chat.plugin.ChatPlugin` |
| `pitiupi.screenCast` | `ant jar` | `dist/pitiupi.screenCast.jar` | `pitiupi.screenCast.plugin.ScreenCastPlugin` |
| `pitiupi.mpChat` | `make` | `dist/mpChat.jar` | `plugin.MultiProtocolChat` |
| `plugins/chat` | `ant jar` | `dist/pitiupi.chat.jar` | `pitiupi.chat.plugin.ChatPlugin` |
| `plugins/screencast` | `ant jar` | `dist/pitiupi.screenCast.jar` | `pitiupi.screenCast.plugin.ScreenCastPlugin` |
Todos dependem do JAR do núcleo no classpath de compilação.
## O que o aluno cria
Novo diretório irmão, por exemplo `pitiupi.xadrez/`, copiando a estrutura de `pitiupi.chat` (Ant + `META-INF/services`). Registre o módulo em `plugins.registry.json` e use `MenuCategory` adequado no código.
Não é obrigatório commitar o plugin do aluno neste repositório base; o professor pode definir fork ou entrega em zip.
Ver [03_build_ant_netbeans.md](03_build_ant_netbeans.md) e [10_tutorial_plugin.md](10_tutorial_plugin.md).
Ver [10_tutorial_plugin.md](10_tutorial_plugin.md) e [17_tutorial_ping_aula.md](17_tutorial_ping_aula.md).