📋 Commit iniziale con: - ✅ Documentazione unificata in docs/ - ✅ Codice Laravel in netgescon-laravel/ - ✅ Script automazione in scripts/ - ✅ Configurazione sync rsync - ✅ Struttura organizzata e pulita 🔄 Versione: 2025.07.19-1644 🎯 Sistema pronto per Git distribuito
360 lines
12 KiB
Markdown
360 lines
12 KiB
Markdown
# 🤖 NETGESCON - GUIDA PER GITHUB COPILOT/AI
|
||
## 📋 Istruzioni Complete per Continuare lo Sviluppo
|
||
|
||
> **🎯 DOCUMENTO MASTER** per GitHub Copilot/AI
|
||
> **📍 Posizione:** `~/netgescon/docs/00-COPILOT-MASTER-GUIDE.md`
|
||
> **🔄 Creato:** 18/07/2025 - Handoff completo Michele → AI
|
||
|
||
---
|
||
|
||
## 🚨 **ATTENZIONE: PRIMA DI INIZIARE**
|
||
|
||
### ⚠️ **REGOLA D'ORO: NON PERDERE I DATI**
|
||
1. **MAI** modificare direttamente il database di produzione
|
||
2. **SEMPRE** fare backup prima di modifiche strutturali
|
||
3. **TESTARE** ogni modifica su ambiente di sviluppo
|
||
4. **VERIFICARE** autenticazione e permessi dopo ogni modifica
|
||
|
||
### 🔑 **CREDENZIALI E ACCESSI ATTUALI**
|
||
```bash
|
||
# Login applicazione
|
||
URL: http://192.168.0.200:8000
|
||
Admin: admin@example.com / password
|
||
SuperAdmin: superadmin@example.com / password
|
||
|
||
# Server Linux
|
||
SSH: netgescon@192.168.0.200
|
||
Password: [verificare con Michele]
|
||
|
||
# Database
|
||
Host: localhost
|
||
DB: netgescon
|
||
User: netgescon_user
|
||
Password: [verificare .env]
|
||
```
|
||
|
||
---
|
||
|
||
## 📂 **STRUTTURA PROGETTO - MAPPA COMPLETA**
|
||
|
||
### 🏠 **DIRECTORY PRINCIPALE**
|
||
```
|
||
~/netgescon/
|
||
├── netgescon-laravel/ # 🌐 APPLICAZIONE PRINCIPALE LARAVEL
|
||
│ ├── app/ # Models, Controllers, Middleware
|
||
│ ├── database/ # Migrations, Seeders
|
||
│ ├── resources/views/ # Template Blade
|
||
│ ├── routes/ # Route definitions
|
||
│ ├── storage/logs/ # Log applicazione
|
||
│ └── .env # ⚠️ CONFIGURAZIONE CRITICA
|
||
├── docs/ # 📚 DOCUMENTAZIONE UNIFICATA
|
||
│ ├── 00-COPILOT-MASTER-GUIDE.md # 🤖 QUESTO DOCUMENTO
|
||
│ ├── 00-INDICE-DOCS-UNIFICATA.md # 🧭 INDICE PRINCIPALE
|
||
│ ├── 00-transizione-linux/ # 🔑 GUIDE TRANSIZIONE
|
||
│ ├── 01-manuali-aggiuntivi/ # 🛠️ MANUALI OPERATIVI
|
||
│ ├── 02-architettura-laravel/ # 🏗️ ARCHITETTURA SISTEMA
|
||
│ ├── 03-scripts-automazione/ # ⚙️ SCRIPT UTILITÀ
|
||
│ └── images/ # 🖼️ SCREENSHOT DEBUG
|
||
└── backup/ # 💾 BACKUP SICUREZZA
|
||
```
|
||
|
||
### 🎯 **ENTRY POINT - DA DOVE INIZIARE**
|
||
|
||
#### 1️⃣ **DOCUMENTO PRINCIPALE**
|
||
**📍 INIZIO QUI:** [`docs/00-INDICE-DOCS-UNIFICATA.md`](00-INDICE-DOCS-UNIFICATA.md)
|
||
- Contiene **navigazione completa** di tutta la documentazione
|
||
- Link diretti a tutti i documenti chiave
|
||
- Scenari di navigazione per ogni situazione
|
||
|
||
#### 2️⃣ **DOCUMENTI CHIAVE FONDAMENTALI**
|
||
1. **[`docs/00-transizione-linux/README-TRANSITION-COMPLETE.md`](00-transizione-linux/README-TRANSITION-COMPLETE.md)**
|
||
- 🔑 **GUIDA TRANSIZIONE COMPLETA**
|
||
- Struttura progetto, configurazione, troubleshooting
|
||
- **LEGGI QUESTO PER PRIMO**
|
||
|
||
2. **[`docs/00-transizione-linux/FEATURES-INVENTORY-COMPLETE.md`](00-transizione-linux/FEATURES-INVENTORY-COMPLETE.md)**
|
||
- 📊 **INVENTARIO COMPLETO FUNZIONALITÀ**
|
||
- Stato implementazione, roadmap, priorità
|
||
- **CONSULTA PER CAPIRE COSA È GIÀ FATTO**
|
||
|
||
3. **[`docs/00-MANUALE-COMPLETO-NETGESCON-UNIFICATO.md`](00-MANUALE-COMPLETO-NETGESCON-UNIFICATO.md)**
|
||
- 📖 **MANUALE COMPLETO SISTEMA**
|
||
- Come funziona tutto, procedure operative
|
||
|
||
4. **[`docs/05-INTERFACCIA-UNIVERSALE.md`](05-INTERFACCIA-UNIVERSALE.md)**
|
||
- 🎨 **SISTEMA INTERFACCIA UNIFICATA**
|
||
- Come funziona il layout, sidebar, AJAX
|
||
- **FONDAMENTALE** per modifiche frontend
|
||
|
||
---
|
||
|
||
## 🔧 **WORKFLOW SVILUPPO SICURO**
|
||
|
||
### ✅ **PROCEDURA STANDARD**
|
||
```bash
|
||
# 1. Backup prima di qualsiasi modifica
|
||
cd ~/netgescon/netgescon-laravel
|
||
./docs/03-scripts-automazione/manage-database.sh backup
|
||
|
||
# 2. Test ambiente
|
||
php artisan test
|
||
|
||
# 3. Verifica login funzionante
|
||
curl -I http://localhost:8000
|
||
|
||
# 4. Sempre versioning
|
||
git add .
|
||
git commit -m "Descrizione modifica"
|
||
|
||
# 5. Deploy step-by-step
|
||
php artisan migrate --dry-run # Verifica migrations
|
||
php artisan migrate # Solo se tutto OK
|
||
```
|
||
|
||
### ⚠️ **COSA NON FARE MAI**
|
||
- ❌ `php artisan migrate:fresh` in produzione
|
||
- ❌ Modificare .env senza backup
|
||
- ❌ Cancellare migrations esistenti
|
||
- ❌ Cambiare chiavi di autenticazione senza test
|
||
- ❌ Modificare ruoli/permessi senza verificare accessi
|
||
|
||
---
|
||
|
||
## 🎯 **TASK PRIORITARI - COSA FARE DOPO**
|
||
|
||
### 🚀 **IMMEDIATE (Prossimi giorni)**
|
||
1. **Completare gestione economica**
|
||
- File: `app/Http/Controllers/EconomicaController.php`
|
||
- Riferimento: [`docs/00-transizione-linux/FEATURES-INVENTORY-COMPLETE.md`](00-transizione-linux/FEATURES-INVENTORY-COMPLETE.md) sezione "GESTIONE ECONOMICA"
|
||
|
||
2. **Migliorare sistema upload documenti**
|
||
- File: `app/Http/Controllers/DocumentiController.php`
|
||
- Riferimento: [`docs/04-DATABASE-STRUTTURE.md`](04-DATABASE-STRUTTURE.md)
|
||
|
||
3. **Espandere reportistica**
|
||
- Directory: `resources/views/reports/`
|
||
- Riferimento: [`docs/07-API-INTEGRAZIONI.md`](07-API-INTEGRAZIONI.md)
|
||
|
||
### 📋 **BREVE TERMINE (1-2 settimane)**
|
||
1. **API REST complete**
|
||
- Directory: `routes/api.php`
|
||
- Riferimento: [`docs/02-architettura-laravel/ARCHITETTURA_MODULARE_COMPLETATA.md`](02-architettura-laravel/ARCHITETTURA_MODULARE_COMPLETATA.md)
|
||
|
||
2. **Sistema notifiche**
|
||
- File: `app/Notifications/`
|
||
- Riferimento: [`docs/06-SISTEMA-MULTI-RUOLO.md`](06-SISTEMA-MULTI-RUOLO.md)
|
||
|
||
---
|
||
|
||
## 🛠️ **SCRIPT E AUTOMAZIONE DISPONIBILI**
|
||
|
||
### 📁 **Directory:** `docs/03-scripts-automazione/`
|
||
|
||
#### 🔧 **Setup e Manutenzione**
|
||
- `setup-complete-environment.sh` - Setup ambiente completo
|
||
- `fix-vscode-install.sh` - Fix installazione VS Code
|
||
- `manage-database.sh` - Gestione database (backup/restore)
|
||
|
||
#### 🔄 **Sincronizzazione**
|
||
- `sync-bidirectional.sh` - Sync bidirezionale file
|
||
- `sync-to-remote.sh` - Sync verso server remoto
|
||
|
||
#### ⚡ **Testing e Deploy**
|
||
- `test-dashboard.sh` - Test dashboard e funzionalità
|
||
- `quick-deploy.sh` - Deploy rapido
|
||
- `verify-system.sh` - Verifica sistema
|
||
|
||
---
|
||
|
||
## 🗄️ **COMPRENSIONE DATABASE**
|
||
|
||
### 📊 **Tabelle Principali**
|
||
```sql
|
||
-- Riferimento: docs/04-DATABASE-STRUTTURE.md
|
||
stabili # Edifici/condomini
|
||
persone # Anagrafica (inquilini, proprietari, admin)
|
||
unita_immobiliari # Appartamenti/locali
|
||
users # Sistema autenticazione
|
||
roles # Ruoli utenti (admin, superadmin, inquilino)
|
||
```
|
||
|
||
### 🔑 **Migrations Critiche**
|
||
```bash
|
||
# Directory: database/migrations/
|
||
# ATTENZIONE: Non modificare quelle esistenti
|
||
# Per nuove modifiche: php artisan make:migration nome_modifica
|
||
```
|
||
|
||
### 👥 **Sistema Autenticazione**
|
||
- **Controller:** `app/Http/Controllers/Auth/SecureDashboardController.php`
|
||
- **Middleware:** `app/Http/Middleware/`
|
||
- **Spatie Roles:** Sistema ruoli e permessi
|
||
- **Riferimento:** [`docs/06-SISTEMA-MULTI-RUOLO.md`](06-SISTEMA-MULTI-RUOLO.md)
|
||
|
||
---
|
||
|
||
## 🎨 **SISTEMA INTERFACCIA**
|
||
|
||
### 🏗️ **Layout Universale**
|
||
- **File principale:** `resources/views/components/layout/universal.blade.php`
|
||
- **Sistema sidebar:** `resources/views/components/sidebar-dynamic.blade.php`
|
||
- **AJAX navigation:** `public/js/dashboard.js`
|
||
|
||
### 📱 **Componenti UI**
|
||
- **Cards dashboard:** `resources/views/dashboard/`
|
||
- **Form modali:** `resources/views/forms/`
|
||
- **Tabelle data:** `resources/views/tables/`
|
||
|
||
### 🎯 **Riferimenti Interfaccia**
|
||
- [`docs/05-INTERFACCIA-UNIVERSALE.md`](05-INTERFACCIA-UNIVERSALE.md) - **Sistema completo**
|
||
- [`docs/02-architettura-laravel/sidebar-modulare.md`](02-architettura-laravel/sidebar-modulare.md) - **Sidebar**
|
||
- [`docs/08-FRONTEND-UX.md`](08-FRONTEND-UX.md) - **Frontend guidelines**
|
||
|
||
---
|
||
|
||
## 🔍 **TROUBLESHOOTING RAPIDO**
|
||
|
||
### ❌ **Problema: Dashboard non carica**
|
||
```bash
|
||
# Soluzione rapida
|
||
php artisan optimize:clear
|
||
php artisan config:cache
|
||
# Riferimento: docs/01-manuali-aggiuntivi/QUICK_REFERENCE_LARAVEL.md
|
||
```
|
||
|
||
### ❌ **Problema: Errori permessi**
|
||
```bash
|
||
# Fix permessi
|
||
sudo chown -R www-data:www-data ~/netgescon/netgescon-laravel
|
||
sudo chmod -R 755 ~/netgescon/netgescon-laravel
|
||
sudo chmod -R 775 storage bootstrap/cache
|
||
```
|
||
|
||
### ❌ **Problema: Database connection**
|
||
```bash
|
||
# Verifica configurazione
|
||
cat .env | grep DB_
|
||
mysql -u netgescon_user -p
|
||
# Riferimento: docs/00-transizione-linux/README-TRANSITION-COMPLETE.md
|
||
```
|
||
|
||
### ❌ **Problema: Autenticazione rotta**
|
||
```bash
|
||
# Verifica ruoli
|
||
php artisan tinker
|
||
User::with('roles')->get();
|
||
# Riferimento: docs/06-SISTEMA-MULTI-RUOLO.md
|
||
```
|
||
|
||
---
|
||
|
||
## 🔄 **SINCRONIZZAZIONE SERVER REMOTO**
|
||
|
||
### 📡 **Script Rsync Pronto**
|
||
```bash
|
||
# Da eseguire per sincronizzare con server remoto
|
||
cd ~/netgescon
|
||
rsync -avz --delete \
|
||
--exclude='.git' \
|
||
--exclude='node_modules' \
|
||
--exclude='vendor' \
|
||
--exclude='storage/logs' \
|
||
./ utente@server-remoto:/percorso/destinazione/
|
||
```
|
||
|
||
### 🎯 **Cartelle da Sincronizzare SEMPRE**
|
||
- `docs/` - Documentazione completa
|
||
- `netgescon-laravel/app/` - Codice applicazione
|
||
- `netgescon-laravel/resources/` - Template e asset
|
||
- `netgescon-laravel/database/migrations/` - Strutture DB
|
||
- `netgescon-laravel/.env.example` - Configurazione template
|
||
|
||
### ⚠️ **Cartelle da NON Sincronizzare**
|
||
- `netgescon-laravel/storage/logs/` - Log locali
|
||
- `netgescon-laravel/vendor/` - Dipendenze (ricostruire con composer)
|
||
- `netgescon-laravel/node_modules/` - Dipendenze npm
|
||
- `.git/` - Storia git (sync separato)
|
||
|
||
---
|
||
|
||
## 🤖 **MESSAGGI PER IL TUO ALTER EGO**
|
||
|
||
### 💬 **Cosa dirgli per iniziare**
|
||
```
|
||
"Ciao! Sono il tuo 'alter ego' Michele. Ho preparato tutto per te:
|
||
|
||
1. INIZIA DA: ~/netgescon/docs/00-INDICE-DOCS-UNIFICATA.md
|
||
2. LEGGI SUBITO: docs/00-transizione-linux/README-TRANSITION-COMPLETE.md
|
||
3. INVENTARIO: docs/00-transizione-linux/FEATURES-INVENTORY-COMPLETE.md
|
||
4. QUESTA GUIDA: docs/00-COPILOT-MASTER-GUIDE.md
|
||
|
||
REGOLA D'ORO: Sempre backup prima di modifiche!
|
||
|
||
La struttura è completa e documentata. Hai accesso a:
|
||
- 301 file di documentazione
|
||
- Script automazione pronti
|
||
- Database funzionante
|
||
- Sistema autenticazione attivo
|
||
|
||
Tutto è nella cartella docs/ organizzato per categoria.
|
||
Non perderti, segui gli indici! 🧭"
|
||
```
|
||
|
||
### 🎯 **Come risolvere primi problemi**
|
||
```
|
||
"Per i primi problemi:
|
||
|
||
1. SEMPRE consulta: docs/01-manuali-aggiuntivi/QUICK_REFERENCE_LARAVEL.md
|
||
2. Script emergenza: docs/03-scripts-automazione/verify-system.sh
|
||
3. Troubleshooting: docs/00-transizione-linux/README-TRANSITION-COMPLETE.md
|
||
4. Database issues: docs/04-DATABASE-STRUTTURE.md
|
||
|
||
Tutti gli screenshot debug sono in: docs/images/
|
||
Michele ha documentato TUTTO. Usa la documentazione!"
|
||
```
|
||
|
||
---
|
||
|
||
## 📋 **CHECKLIST FINALE HANDOFF**
|
||
|
||
### ✅ **Verifica Completezza**
|
||
- [ ] Documentazione unificata in docs/
|
||
- [ ] Script automazione testati
|
||
- [ ] Database funzionante
|
||
- [ ] Autenticazione attiva
|
||
- [ ] Backup sistema configurato
|
||
- [ ] Rsync script preparato
|
||
|
||
### ✅ **Test Funzionalità**
|
||
- [ ] Login admin funziona
|
||
- [ ] Dashboard carica
|
||
- [ ] CRUD stabili operativo
|
||
- [ ] Sistema ruoli attivo
|
||
- [ ] Sidebar AJAX funziona
|
||
|
||
### ✅ **Documentazione Accessibile**
|
||
- [ ] Indici navigabili
|
||
- [ ] Cross-reference funzionanti
|
||
- [ ] Screenshot disponibili
|
||
- [ ] Script documentati
|
||
|
||
---
|
||
|
||
## 🚀 **PASSAGGIO DI CONSEGNE COMPLETATO**
|
||
|
||
> **🎯 Michele → GitHub Copilot/AI**
|
||
>
|
||
> **Data handoff:** 18/07/2025
|
||
> **Stato sistema:** ✅ Funzionante e documentato
|
||
> **Copertura documentazione:** 301 file, 11MB
|
||
> **Entry point:** `docs/00-INDICE-DOCS-UNIFICATA.md`
|
||
>
|
||
> **🔑 Tutto è pronto per continuare lo sviluppo in autonomia!**
|
||
|
||
---
|
||
|
||
**🏢 NETGESCON** - Passaggio Consegne Completo
|
||
**🤖 Da:** Michele (Human Developer)
|
||
**🤖 A:** GitHub Copilot/AI Assistant
|
||
**📅 Data:** 18 Luglio 2025
|