Vai al contenuto

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 e yii2-queue in produzione, Web Push con minishlink/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/.