Guida per principianti
Questo percorso ti accompagna nell'installazione dell'ambiente, nella comprensione del backend Django e nella modifica dei template frontend.
La versione completa è disponibile nel repository in docs/guida_principianti_backend_frontend.md.
Copia il file tra gli statici se desideri offrirne il download diretto agli utenti finali.
1. Preparazione dell'ambiente
- Installa Python 3.10+, Git e (opzionale) PostgreSQL.
- Clona il repository:
git clone <URL_DEL_REPO> mygest. - Crea il virtualenv:
python3 -m venv venve attivalo consource venv/bin/activate. - Aggiorna pip e installa le dipendenze:
pip install --upgrade pipquindipip install -r requirements.txt. - Esegui le migrazioni:
python manage.py migratee crea l'utente admin conpython manage.py createsuperuser. - Avvia il server di sviluppo:
python manage.py runservere visitahttp://127.0.0.1:8000.
2. Architettura backend
MyGest è un progetto Django composto da più app specializzate. I file più importanti:
mygest/settings.py: configurazione generale.mygest/urls.py: include i router delle varie app.mygest/views.py: viste generiche (home, help, ecc.).pratiche/: gestione delle pratiche, note, relazioni.scadenze/: nuova app per le scadenze con modelli dedicati.
Le scadenze sono ora indipendenti dalle pratiche e includono occorrenze, log e webhook. Vedi i servizi in scadenze/services.py per generazione massiva, notifiche e sincronizzazione Google Calendar.
3. Workflow di sviluppo backend
- Modifica o aggiungi modelli in
models.py. - Genera le migrazioni con
python manage.py makemigrations <app>. - Applica le migrazioni con
python manage.py migrate. - Scrivi o aggiorna i test (es.
pratiche/tests.py). - Esegui la suite con
python manage.py test. - Verifica dal browser le pagine interessate.
Suggerimento: installa django-extensions per usare shell_plus e sperimentare con l'ORM.
4. Template e frontend
I template sono organizzati per app. Alcuni esempi utili:
pratiche/templates/pratiche/home.html: dashboard con pratiche recenti e scadenze imminenti.scadenze/templates/scadenze/detail.html: dettaglio di una scadenza con occorrenze.scadenze/templates/scadenze/form.html: form di creazione/modifica scadenza.
Per aggiungere risorse statiche, utilizza static/ e carica le librerie con . Il layout base è in templates/base.html.
- Identifica il template da modificare.
- Aggiungi blocchi HTML e template tag.
- Se servono filtri personalizzati, crea un modulo
templatetags/. - Verifica il rendering con il server di sviluppo.
5. Checklist prima del commit
- Ambiente virtuale attivo.
- Migrazioni generate e applicate.
- Test eseguiti e passati.
- Template/statici controllati dal browser.
- Nessun file temporaneo o credenziale nel commit.
Per approfondimenti consulta la documentazione ufficiale:
- Documentazione Django
- Community Django
- Bootstrap per il design responsivo.
6. Prossimi passi
Quando ti senti a tuo agio con le basi:
- Esplora
scadenze/services.pyper aggiungere nuovi canali di notifica. - Scrivi test dedicati in
scadenze/tests/per validare casi particolari. - Documenta ogni funzionalità in
docs/così il team può seguirti.
Buon lavoro con MyGest!