248 lines
6.5 KiB
Markdown
248 lines
6.5 KiB
Markdown
# ✅ CHECKLIST INIZIALE - NetGesCon Laravel
|
|
|
|
**📅 Creato**: 9 Luglio 2025
|
|
**🎯 Scopo**: Verifiche pre-sviluppo per garantire qualità e coerenza
|
|
**👥 Target**: Sviluppatori e Project Manager
|
|
|
|
---
|
|
|
|
## 🚀 **CHECKLIST PRE-SVILUPPO**
|
|
|
|
### 📋 **PREPARAZIONE AMBIENTE**
|
|
|
|
#### ✅ **Setup Sistema**
|
|
- [ ] ✅ PHP 8.1+ installato e configurato
|
|
- [ ] ✅ Composer aggiornato
|
|
- [ ] ✅ MySQL/MariaDB funzionante
|
|
- [ ] ✅ Laravel 10.x installato
|
|
- [ ] ✅ Node.js e NPM per frontend
|
|
- [ ] ✅ Git configurato con repository
|
|
|
|
#### ✅ **Database e Seeder**
|
|
- [ ] ✅ Database `netgescon_laravel` creato
|
|
- [ ] ✅ Migrazioni eseguite senza errori
|
|
- [ ] ✅ `TestSetupSeeder` funzionante
|
|
- [ ] ✅ Dati di test popolati (14 utenti, 11 ruoli)
|
|
- [ ] ✅ Relazioni foreign key verificate
|
|
|
|
#### ✅ **Credenziali Test**
|
|
- [ ] ✅ Super Admin: `superadmin@example.com` / `password`
|
|
- [ ] ✅ Amministratore: `admin@example.com` / `password`
|
|
- [ ] ✅ Tutti i ruoli aggiuntivi creati
|
|
- [ ] ✅ `CREDENZIALI_TEST.md` aggiornato
|
|
- [ ] ✅ Switch multi-ruolo pianificato
|
|
|
|
---
|
|
|
|
## 🎯 **CHECKLIST FUNZIONALITÀ**
|
|
|
|
### 📊 **Database e Modelli**
|
|
|
|
#### ✅ **Schema Database**
|
|
- [ ] ✅ Tabelle create secondo standard Laravel
|
|
- [ ] ✅ Foreign key con `id` (non custom keys)
|
|
- [ ] ✅ Soft deletes implementati dove necessario
|
|
- [ ] ✅ Timestamps `created_at`, `updated_at`
|
|
- [ ] ✅ Indici per performance query
|
|
|
|
#### ✅ **Modelli Eloquent**
|
|
- [ ] ✅ Relazioni definite correttamente
|
|
- [ ] ✅ Mass assignment protection
|
|
- [ ] ✅ Mutators/Accessors per data formatting
|
|
- [ ] ✅ Scope per query comuni
|
|
- [ ] ✅ Factories per testing
|
|
|
|
#### ✅ **Validazione Dati**
|
|
- [ ] 🔄 Form Request classes create
|
|
- [ ] 🔄 Regole validazione complete
|
|
- [ ] 🔄 Messaggi errore in italiano
|
|
- [ ] 🔄 Validazione client-side JS
|
|
|
|
### 🔐 **Sicurezza e Autenticazione**
|
|
|
|
#### ✅ **Sistema Ruoli**
|
|
- [ ] ✅ Spatie Permission configurato
|
|
- [ ] ✅ Ruoli granulari definiti
|
|
- [ ] ✅ Middleware per protezione route
|
|
- [ ] 🔄 Policy per autorizzazioni
|
|
- [ ] 🔄 Gates per logiche complesse
|
|
|
|
#### ✅ **Protezione Dati**
|
|
- [ ] 🔄 CSRF protection attivo
|
|
- [ ] 🔄 SQL Injection prevention
|
|
- [ ] 🔄 XSS protection
|
|
- [ ] 🔄 Rate limiting su API
|
|
- [ ] 🔄 Sanitizzazione input
|
|
|
|
### 🎨 **Interfaccia Utente**
|
|
|
|
#### ✅ **Localizzazione**
|
|
- [ ] ✅ File `lang/it/menu.php` completo
|
|
- [ ] ✅ Tutte le viste in italiano
|
|
- [ ] ✅ Terminologia tecnica appropriata
|
|
- [ ] 🔄 Pluralizzazione italiana
|
|
- [ ] 🔄 Date/numeri formato italiano
|
|
|
|
#### ✅ **Design e UX**
|
|
- [ ] 🔄 Layout responsive mobile-first
|
|
- [ ] 🔄 Componenti riutilizzabili
|
|
- [ ] 🔄 Icone e branding coerenti
|
|
- [ ] 🔄 Accessibilità (WCAG)
|
|
- [ ] 🔄 Loading states e feedback
|
|
|
|
---
|
|
|
|
## 💰 **CHECKLIST CONTABILITÀ**
|
|
|
|
### 🧮 **Precisione Calcoli**
|
|
|
|
#### ⚠️ **CRITICO: Zero Arrotondamenti**
|
|
- [ ] 🚨 **Mai divisioni dirette** (es. `1000/3`)
|
|
- [ ] ✅ **Algoritmi distribuzione resto** implementati
|
|
- [ ] 🔄 **Test calcoli** per ogni scenario
|
|
- [ ] 🔄 **Verifica bilanci** sempre quadrati
|
|
- [ ] 🔄 **Audit trail** per ogni operazione
|
|
|
|
#### ✅ **Gestione Millesimi**
|
|
- [ ] 🔄 Distribuzione spese con resto gestito
|
|
- [ ] 🔄 Validazione totale millesimi = 1000
|
|
- [ ] 🔄 Arrotondamenti solo su display
|
|
- [ ] 🔄 Precisione double per calcoli interni
|
|
|
|
#### ✅ **Movimenti Contabili**
|
|
- [ ] 🔄 Partita doppia sempre bilanciata
|
|
- [ ] 🔄 Contropartite automatiche
|
|
- [ ] 🔄 Reversali e storni
|
|
- [ ] 🔄 Riconciliazione bancaria
|
|
|
|
### 💸 **Gestione Fiscale**
|
|
- [ ] ⏳ Ritenute d'acconto
|
|
- [ ] ⏳ Modello F24 automatico
|
|
- [ ] ⏳ Certificazione Unica
|
|
- [ ] ⏳ Modello 770
|
|
- [ ] ⏳ Attestazioni rendite
|
|
|
|
---
|
|
|
|
## 🧪 **CHECKLIST TESTING**
|
|
|
|
### 🔍 **Test Coverage**
|
|
|
|
#### ✅ **Test Funzionali**
|
|
- [ ] 🔄 Unit test per modelli
|
|
- [ ] 🔄 Feature test per controller
|
|
- [ ] 🔄 Integration test per workflow
|
|
- [ ] 🔄 Browser test per UI
|
|
|
|
#### ✅ **Test Contabili**
|
|
- [ ] 🔄 Test distribuzione millesimi
|
|
- [ ] 🔄 Test partita doppia
|
|
- [ ] 🔄 Test arrotondamenti
|
|
- [ ] 🔄 Stress test con grandi numeri
|
|
|
|
#### ✅ **Test Sicurezza**
|
|
- [ ] 🔄 Test autorizzazioni
|
|
- [ ] 🔄 Test injection attacks
|
|
- [ ] 🔄 Test session management
|
|
- [ ] 🔄 Test rate limiting
|
|
|
|
### 📊 **Performance**
|
|
- [ ] 🔄 Query optimization
|
|
- [ ] 🔄 Caching strategy
|
|
- [ ] 🔄 Database indexing
|
|
- [ ] 🔄 Frontend optimization
|
|
|
|
---
|
|
|
|
## 📝 **CHECKLIST DOCUMENTAZIONE**
|
|
|
|
### 📚 **File Documentazione**
|
|
|
|
#### ✅ **Tecnica**
|
|
- [ ] ✅ `DATABASE_SCHEMA.md` aggiornato
|
|
- [ ] ✅ `DATA_ARCHITECTURE.md` completo
|
|
- [ ] ✅ `TECHNICAL_SPECS.md` dettagliato
|
|
- [ ] 🔄 `API_ENDPOINTS.md` documentato
|
|
|
|
#### ✅ **Gestionale**
|
|
- [ ] ✅ `CREDENZIALI_TEST.md` aggiornato
|
|
- [ ] ✅ `PROGRESS_LOG.md` mantenuto
|
|
- [ ] 🔄 `MENU_MAPPING.md` creato
|
|
- [ ] 🔄 `TODO_PRIORITA.md` aggiornato
|
|
|
|
#### ✅ **Utente**
|
|
- [ ] 🔄 Manual utente amministratore
|
|
- [ ] 🔄 Manual utente condomino
|
|
- [ ] 🔄 FAQ e troubleshooting
|
|
- [ ] 🔄 Video tutorials
|
|
|
|
---
|
|
|
|
## 🔧 **CHECKLIST PRE-COMMIT**
|
|
|
|
### 📋 **Controlli Pre-Push**
|
|
|
|
#### ✅ **Codice**
|
|
- [ ] 🔄 PHP CS Fixer eseguito
|
|
- [ ] 🔄 PHPStan analisi statica
|
|
- [ ] 🔄 Test suite passata
|
|
- [ ] 🔄 Coverage test accettabile
|
|
|
|
#### ✅ **Database**
|
|
- [ ] 🔄 Migrazioni funzionanti
|
|
- [ ] 🔄 Seeder aggiornati
|
|
- [ ] 🔄 Backup structure generato
|
|
- [ ] 🔄 Rollback testato
|
|
|
|
#### ✅ **Frontend**
|
|
- [ ] 🔄 Asset compilati
|
|
- [ ] 🔄 CSS/JS minificati
|
|
- [ ] 🔄 Immagini ottimizzate
|
|
- [ ] 🔄 Cross-browser testato
|
|
|
|
---
|
|
|
|
## 🎯 **CHECKLIST MILESTONE**
|
|
|
|
### 📊 **Fase 2: UI Completa**
|
|
- [ ] 🔄 Tutti i menu implementati
|
|
- [ ] 🔄 CRUD base funzionante
|
|
- [ ] 🔄 Dashboard operativa
|
|
- [ ] 🔄 Sistema notifiche
|
|
|
|
### 📊 **Fase 3: Contabilità**
|
|
- [ ] ⏳ Movimenti contabili
|
|
- [ ] ⏳ Bilanci e report
|
|
- [ ] ⏳ Riconciliazione
|
|
- [ ] ⏳ Stampe contabili
|
|
|
|
### 📊 **Fase 4: Produzione**
|
|
- [ ] ⏳ Docker setup
|
|
- [ ] ⏳ CI/CD pipeline
|
|
- [ ] ⏳ Monitoring e logging
|
|
- [ ] ⏳ Backup automatici
|
|
|
|
---
|
|
|
|
## ⚠️ **RED FLAGS - FERMARE SVILUPPO SE:**
|
|
|
|
- 🚨 **Test suite non passa**
|
|
- 🚨 **Calcoli contabili non quadrano**
|
|
- 🚨 **Vulnerabilità sicurezza trovate**
|
|
- 🚨 **Performance inaccettabili**
|
|
- 🚨 **Seeder non funziona**
|
|
|
|
---
|
|
|
|
## 📞 **SUPPORTO**
|
|
|
|
- 📋 **Checklist Issues**: Aprire ticket GitHub
|
|
- 🔍 **Test Failures**: Documentare in `TEST_FAILURES.md`
|
|
- 💡 **Miglioramenti**: Aggiungere a `IDEE_FUTURE.md`
|
|
|
|
---
|
|
|
|
*✅ Completare questa checklist prima di ogni sviluppo importante*
|
|
*🔄 Aggiornare la checklist con nuovi requisiti*
|
|
*📅 Revisione settimanale per mantenere standard*
|