GesTask¶
GesTask è l'applicazione di Gestione Servizi S.p.A. per organizzare il lavoro dei team: bacheche Kanban, task con sotto-task e ricorrenze, riunioni, assenze, notifiche su più canali, API REST, un connettore MCP per Claude e un pannello di amministrazione.
Questa wiki è scritta per chi sviluppa e mantiene GesTask. Descrive il codice
com'è oggi, non una roadmap. La guida per chi usa l'applicazione è un'altra: sta
dentro GesTask, alla voce Guida (contenuti in common/data/guide.php, vedi
Frontend).
Da dove partire¶
| Se devi… | Leggi |
|---|---|
| capire come è fatto il progetto | Architettura |
| mettere le mani su bacheche e task | Bacheche, Task |
| capire chi può fare cosa | Team e ruoli, Sicurezza |
| integrare un sistema esterno | API HTTP, Webhook |
| collegare GesTask a Claude | Connettore MCP |
| far girare l'applicazione | Sviluppo locale e test, Deploy con Docker |
| sapere cosa gira da solo | Console e attività pianificate |
In breve¶
- Stack: PHP 8.2+ (8.4 nel container), Yii2 Advanced
~2.0.54, MySQL, Bootstrap 5 con un design system proprio (Prime), Redis eyii2-queuein produzione, Web Push conminishlink/web-push. - Quattro applicazioni che condividono il dominio in
common/: il frontend per gli utenti, il pannello di amministrazione (backend/), l'API REST v1 (api/, che ospita anche il server MCP e gli endpoint OAuth) e la console. - Tutto anche dall'API. Ogni azione dell'interfaccia e del pannello ha il suo endpoint v1, credenziali escluse; da lì il connettore MCP ricava i tool di Claude.
- Una sola logica. Le regole di dominio stanno nei servizi di
common/services; i controller di frontend e API sono adattatori sottili, così una regola vale identica da qualunque punto d'ingresso. - Permessi per team. Quasi tutto ciò che un utente può fare dipende dal suo ruolo nel team della risorsa, con una matrice di permessi configurabile per team.
- Niente id numerici all'esterno. URL, API e payload usano solo uuid.
Struttura del repository¶
| Percorso | Contenuto |
|---|---|
frontend/ |
Applicazione web degli utenti. |
backend/ |
Pannello di amministrazione. |
api/ |
API REST v1, specifica OpenAPI, Swagger UI, server MCP (api/mcp/tools.php è il catalogo generato) e OAuth. |
console/ |
Comandi CLI, attività pianificate e migrazioni. |
common/ |
Modelli, servizi, behavior, RBAC, job, widget, configurazione condivisa. |
environments/ |
Modelli dei file *-local.php usati da php init. |
docker/, docker-compose.yml |
Immagini e servizi per il deploy. |
storage/ |
File caricati (allegati), fuori dalle cartelle web. Non versionata. |
notes/ |
Convenzioni di progetto (commit, versioni, rilasci) e note di lavoro. |
docs_src/docs/ |
Sorgenti di questa wiki; la build finisce in wiki/. |