Wordpress plugin to manage ITCCA students, aimed at instructors
| .cursor/ plans | 4 hours ago | ||
| .docker | 4 hours ago | ||
| plugin/ itcca-allievi | 4 hours ago | ||
| .env.example | 4 hours ago | ||
| .gitignore | 4 hours ago | ||
| README.md | 4 hours ago | ||
| docker-compose.yml | 4 hours ago | ||
Stack Docker locale + plugin WordPress che estende l'utente con i campi del CSV INSARRI, espone un form pubblico di iscrizione e sincronizza i dati con un Google Sheet privato selezionabile da Drive.
Il piano completo del progetto vive in .cursor/plans/itcca_allievi_wp_plugin.plan.md.
8080 (WordPress) e 8081 (phpMyAdmin) — modificabili in .envcp .env.example .env # se vuoi cambiare credenziali/porte di sviluppo docker compose up -d
Poi:
root / password da .env)Plugin → Allievi ITCCA (dopo aver installato le dipendenze, vedi sotto)Il plugin usa la libreria google/apiclient. Si installa con Composer dentro un container temporaneo, in modo da non dover avere PHP/Composer sul tuo Mac:
docker compose run --rm composer install
I file finiscono in plugin/itcca-allievi/vendor/ (escluso da git).
docker compose ps # stato dei container docker compose logs -f wordpress # log live docker compose down # ferma tutto (DATI PRESERVATI nei volumi) docker compose down -v # ferma e CANCELLA TUTTO (DB + WP) docker compose run --rm composer update # aggiorna dipendenze del plugin docker compose run --rm wpcli wp user list # esempio WP-CLI docker compose run --rm wpcli wp plugin activate itcca-allievi
Per usare la sincronizzazione con Google Sheets serve un OAuth Client ID e una API Key del progetto Google Cloud.
In API e servizi → Libreria abilita:
In API e servizi → Schermata di consenso OAuth:
.../auth/spreadsheets e .../auth/drive.fileIn API e servizi → Credenziali → Crea credenziali → ID client OAuth:
http://localhost:8080/wp-admin/admin.php?page=itcca-allievi-oauthClient ID e Client SecretIn API e servizi → Credenziali → Crea credenziali → Chiave API:
http://localhost:8080/*WordPress admin → Allievi ITCCA → Impostazioni → Sezione Google:
Clicca "Connetti Google" e autorizza il tuo account. Poi clicca "Seleziona foglio da Drive" e scegli il foglio dell'anno corrente.
Itcca-allievi/
├── .cursor/
│ └── plans/
│ └── itcca_allievi_wp_plugin.plan.md # piano del progetto
├── docker-compose.yml
├── .env # credenziali dev (NON committare)
├── .env.example
├── .gitignore
├── README.md # questo file
└── plugin/
└── itcca-allievi/ # plugin WordPress (montato in wp-content/plugins)
├── itcca-allievi.php
├── composer.json
├── includes/
├── assets/
└── templates/
Lo stack usa due volumi Docker nominati:
itcca-allievi_db_data — database MariaDB (tutte le iscrizioni, le impostazioni, gli utenti)itcca-allievi_wp_data — tutti i file di WordPress (config, uploads, temi, plugin di terze parti)docker compose down ferma i container ma conserva i volumi. docker compose down -v cancella anche i volumi (azzera l'ambiente).
Il codice del plugin sta in ./plugin/itcca-allievi/ come bind-mount: modifiche immediate, niente rebuild.
WP_PORT in .env e rilancia docker compose up -d. Ricorda di aggiornare anche l'URI di redirect OAuth in Google Cloud Console se cambi porta.docker compose down -v && docker compose up -dwww-data (uid 33). Se vedi errori di scrittura, da host: sudo chown -R $USER:staff plugin/.