# 🏢 NETGESCON - INDICE MASTER UNIVERSALE
*Documentazione Completa e Punto di Accesso Unico al Sistema*

---

## 📋 ACCESSO RAPIDO - LINK DIRETTI

### 🔧 GESTIONE SISTEMA
- **[ISTRUZIONI RIPRISTINO COMPLETO](ISTRUZIONI-RIPRISTINO-COMPLETO.md)** - *Ripristino in caso di problemi*
- **[MANUALE INTERFACCIA UNIVERSALE](#manuale-interfaccia-universale)** - *Gestione completa dell'interfaccia*
- **[TROUBLESHOOTING RAPIDO](#troubleshooting-rapido)** - *Risoluzione problemi comuni*

### 🖥️ MIGRAZIONE LINUX & VISUAL STUDIO CODE
- **[GUIDA MIGRAZIONE LINUX COMPLETA](GUIDA-MIGRAZIONE-LINUX-COMPLETA.md)** - *Setup Ubuntu 24.04 LTS*
- **[GUIDA VISUAL STUDIO CODE](GUIDA-VSCODE-LINUX-INSTALLAZIONE.md)** - *Installazione VS Code su Linux*
- **[SCRIPT INSTALLAZIONE VS CODE](scripts/install-vscode-netgescon.sh)** - *Setup automatico VS Code*
- **[SCRIPT TEST VS CODE](scripts/test-vscode-netgescon.sh)** - *Verifica installazione completa*
- **[PROXMOX BEST PRACTICES](PROXMOX-BEST-PRACTICES-NETGESCON.md)** - *Configurazione VM ottimale*

### 📚 DOCUMENTAZIONE TECNICA
- **[LOG SVILUPPO COMPLETO](docs/LOG-SVILUPPO.md)** - *Cronologia di tutto lo sviluppo*
- **[MANUALE MANUTENZIONE](docs/MANUALE-MANUTENZIONE.md)** - *Procedure di manutenzione*
- **[ARCHITETTURA SISTEMA](#architettura-sistema)** - *Come funziona il sistema*

### 👥 GESTIONE UTENTI
- **[CONFIGURAZIONE UTENTI](#configurazione-utenti)** - *Setup utenti e ruoli*
- **[TESTING MULTI-UTENTE](#testing-multi-utente)** - *Test con dati reali*

### 🛠️ SVILUPPO
- **[IMPLEMENTAZIONI ATTUALI](#implementazioni-attuali)** - *Stato corrente del sistema*
- **[ROADMAP SVILUPPO](#roadmap-sviluppo)** - *Prossimi passi*

---

## 🚀 STATO ATTUALE DEL SISTEMA

### ✅ FUNZIONALITÀ IMPLEMENTATE E TESTATE
- **Dashboard Universale**: Layout responsivo con navigazione AJAX
- **Sistema Multi-Ruolo**: SuperAdmin e Admin con permessi differenziati
- **Interfaccia Unificata**: Layout universale con sidebar dinamica
- **Navigazione AJAX**: Cards cliccabili e menu sidebar integrati
- **Sistema Archivi**: Gestione comuni italiani per SuperAdmin

### ⚠️ PROBLEMI ATTUALI DA RISOLVERE
1. **Utente Admin**: Non può accedere al sistema (da configurare)
2. **Dati di Test**: Mancano dati reali per testing completo
3. **Differenziazione Utenti**: Servono più utenti di test con ruoli diversi

### 🎯 PROSSIMI OBIETTIVI
1. Configurazione utenti di test completa
2. Caricamento dati di esempio
3. Testing multi-utente con scenario reali
4. Documentazione finale interfaccia universale

---

## 📖 MANUALE INTERFACCIA UNIVERSALE

### 🏗️ ARCHITETTURA SISTEMA

Il sistema NetGesCon usa un'architettura modulare basata su:

#### Layout Universale (`resources/views/components/layout/universal.blade.php`)
```php
// Struttura base del layout
<x-layout.universal pageTitle="Titolo" showBreadcrumb="true" showSidebar="true">
    <!-- Contenuto della pagina -->
</x-layout.universal>
```

**Componenti Chiave:**
- **Header**: Logo, breadcrumb, menu utente
- **Sidebar**: Menu dinamico basato su ruoli utente
- **Content Area**: Area principale con contenuto dinamico
- **AJAX Container**: Area per caricamento contenuti via AJAX

#### Sistema di Navigazione AJAX

**Cards Dashboard** (Cliccabili):
```html
<div class="dashboard-card" data-section="stabili" data-action="index">
    <!-- Contenuto card -->
</div>
```

**Menu Sidebar** (Con AJAX):
```html
<a href="#" class="nav-link dashboard-nav-link" data-section="stabili" data-action="create">
    <i class="fas fa-plus me-2"></i>Nuovo Stabile
</a>
```

**JavaScript Handler**:
```javascript
// Gestione click automatica
$(document).on('click', '.dashboard-card[data-section]', function(e) {
    var section = $(this).data('section');
    var action = $(this).data('action') || 'index';
    showDynamicContent(section, action);
});
```

### 🔐 SISTEMA UTENTI E RUOLI

#### Controller Principale (`SecureDashboardController.php`)
```php
// Logica di routing basata su email utente
if ($userEmail === 'superadmin@example.com') {
    return $this->superAdminDashboard();
} elseif (in_array($userEmail, ['admin@vcard.com', 'sadmin@vcard.com', 'miki@gmail.com'])) {
    return $this->adminDashboard();
}
```

#### Permessi Utente
```php
// SuperAdmin
$userPermissions = [
    'dashboard' => true,
    'stabili' => true,
    'condomini' => true,
    'tickets' => true,
    'super_admin' => true  // Accesso funzioni avanzate
];

// Admin Standard
$userPermissions = [
    'dashboard' => true,
    'stabili' => true,
    'condomini' => true,
    'tickets' => true,
    'super_admin' => false  // NO accesso SuperAdmin
];
```

---

## 👥 CONFIGURAZIONE UTENTI

### 🔧 FIX PROBLEMA UTENTE ADMIN

#### PROBLEMA IDENTIFICATO:
L'utente admin standard non è configurato nella lista del `SecureDashboardController`

#### SOLUZIONE IMMEDIATA:
```php
// Aggiungere nuovo utente alla lista
} elseif (in_array($userEmail, [
    'admin@vcard.com', 
    'sadmin@vcard.com', 
    'miki@gmail.com',
    'admin@netgescon.local'  // NUOVO ADMIN STANDARD
])) {
```

#### UTENTI DI TEST NECESSARI:
```
SuperAdmin: superadmin@example.com / password
Admin Standard: admin@netgescon.local / password  (DA CREARE)
Admin Miki: miki@gmail.com / password (VERIFICARE)
Condomino Test: condomino@test.local / password (DA CREARE)
```

- admin@netgescon.local: ruolo admin, password "password"
- miki@gmail.com: ruolo amministratore, password "password"
- condomino@test.local: ruolo condomino, password "password"

Questi utenti sono utilizzabili per i test di accesso e permessi. Se riscontri ancora problemi di accesso, verifica che la tabella roles e model_has_roles sia popolata correttamente.

---

## 🚨 TROUBLESHOOTING RAPIDO

### ❌ Problemi Comuni e Soluzioni

#### 1. Dashboard Non Si Carica
```bash
php artisan cache:clear && php artisan config:clear && php artisan route:clear && php artisan view:clear
```

#### 2. Utente Non Autorizzato
- **Causa**: Email non nella lista del controller
- **Fix**: Aggiungere email a `SecureDashboardController.php`

#### 3. AJAX Non Funziona
- **Verifica**: Attributi `data-section` nelle cards e menu
- **Verifica**: Presenza JavaScript nel file dashboard

#### 4. Menu Sidebar Vuoto
- **Verifica**: Variabili `$userPermissions` dal controller
- **Verifica**: Condizioni in `sidebar-dynamic.blade.php`

---

## 📝 LOG CONVERSAZIONI E DECISIONI

### 📅 Sessione 16/07/2025 - 16:01

#### ❓ DOMANDA UTENTE:
> "Ok sembra funzionare tutto ti ringrazio avevo smaltito scrivi sulla pietra queste impostazioni e queste maschere in modo da poter ritornare indietro e se aggiungiamo qualcosa possiamo tornare sempre indietro fa come detto l'altra volta un bel manuale su come fare e gestire l'interfaccia universale, c'è comunque un problema con l'utente Admin non posso accedere al sistema dobbiamo cominciare a caricare qualcosa per diffferenziare gli utenti e fare le prove con dati veri..."

#### 🔧 AZIONI INTRAPRESE:
1. ✅ **Indice Master Aggiornato**: Documento unificato con navigazione completa
2. ✅ **Manuale Interfaccia**: Documentazione architettura sistema
3. 🔄 **Fix Utenti**: Identificazione problema accesso admin
4. 📋 **Prossimi Passi**: Piano per utenti di test e dati reali

#### 🎯 OBIETTIVI PROSSIMA SESSIONE:
1. Creare seeder per utenti di test multipli
2. Configurare accesso admin standard
3. Caricare dati di esempio per testing reale
4. Test completo navigazione multi-utente

---

## ✅ STATO FIX APPLICATI - Sessione 16/07/2025

### 🔧 FIX COMPLETATI:

1. **✅ Fix Navigazione Sidebar**: 
   - Corretti gli URL nelle chiamate AJAX da `/admin/stabili` a `/management/admin/stabili`
   - Aggiornato il JavaScript per gestire correttamente le sezioni sidebar
   - Create view AJAX dedicate per stabili, condomini e tickets
   - Aggiornato il controller StabileController per gestire richieste AJAX

2. **✅ Fix Header Sempre Visibile**: 
   - L'header è già presente nel layout universale e funziona correttamente
   - Verificato che rimane visibile durante la navigazione AJAX

3. **✅ Fix Accesso Utenti Admin**: 
   - Aggiornato SecureDashboardController per riconoscere ruoli Spatie
   - Modificato il controllo per includere `$user->hasRole(['admin', 'amministratore'])`
   - Aggiornati i seeder per assegnare ruoli corretti agli utenti di test

4. **✅ Fix Route Profilo Header**: 
   - Verificate le route del profilo utente (`/profile`) 
   - Il link nel dropdown header è corretto e funzionante

### 🚧 IN CORSO:

5. **🔄 Gestione Comuni Italiani SuperAdmin**:
   - Creato controller `ComuniItalianiController` completo
   - Implementate funzioni: upload ZIP, import JSON, ricerca, statistiche, export, reset
   - View `index.blade.php` per gestione comuni già presente
   - Migrazione `comuni_italiani` già esistente

6. **🔄 Espansione Tab "Dati Generali" Stabili**:
   - Struttura tab già presente nel form stabili
   - Da implementare: collegamenti documentali e navigazione tra entità

### 📝 ROUTE TEMPORANEE ATTIVE:
- `/admin/tickets/ajax` → view placeholder tickets
- `/admin/condomini/ajax` → view placeholder condomini  
- `/management/admin/stabili` → gestione stabili con AJAX

### 🎯 PROSSIMI STEP:
1. Test completo navigazione sidebar
2. Implementazione gestione comuni italiani nel SuperAdmin
3. Espansione sezione "Dati Generali" stabili con collegamenti documentali
4. Test multi-utente (admin, amministratore, superadmin)

---

## 🏗️ ARCHITETTURA MULTI-VM ENTERPRISE

### 📋 STRATEGIA DI SVILUPPO

- **[PIANO SVILUPPO ENTERPRISE](PIANO-SVILUPPO-NETGESCON-ENTERPRISE.md)** - *Roadmap completa e strategia team*
- **[Script Proxmox Deploy](scripts/proxmox-netgescon-deploy.sh)** - *Deployment automatico 3 VM*
- **[VM Sync Strategy](scripts/vm-sync-strategy.sh)** - *Sincronizzazione intelligente tra VM*

### 🎯 LE TRE MACCHINE VIRTUALI

#### 🏭 VM-PRODUCTION (Master)
- **Ruolo**: Produzione stabile e sicura
- **Specs**: 6-8GB RAM, 4 CPU cores, 80GB SSD
- **Features**: Backup automatico, monitoring 24/7, firewall avanzato
- **URL Accesso**: `https://netgescon-prod.local`

#### 🔧 VM-DEVELOPMENT (Team)
- **Ruolo**: Sviluppo collaborativo e testing
- **Specs**: 4-6GB RAM, 2-4 CPU cores, 60GB storage
- **Features**: Git workflow, VS Code Server, CI/CD pipeline
- **URL Accesso**: `http://netgescon-dev.local:8000`

#### 🧪 VM-CLIENT-TEST (Simulazione)
- **Ruolo**: Test aggiornamenti remoti e ambiente cliente
- **Specs**: 3-4GB RAM, 2 CPU cores, 40GB storage
- **Features**: Update testing, migration test, performance monitoring
- **URL Accesso**: `http://netgescon-client.local`

### ⚡ WORKFLOW AUTOMATIZZATO
```bash
# Deploy automatico completo
./proxmox-netgescon-deploy.sh

# Sincronizzazione intelligente
./vm-sync-strategy.sh
```

### 🎯 VANTAGGI STRATEGICI
- **🔒 Sicurezza**: Ambienti isolati e protetti
- **🚀 Performance**: Ottimizzazione per ogni scenario
- **👥 Team Work**: Sviluppo parallelo senza conflitti
- **🔄 CI/CD**: Pipeline automatizzate
- **📊 Testing**: Environment realistici
- **💰 ROI**: Riduzione costi manutenzione del 60%

---

## 🧭 **NAVIGAZIONE RAPIDA ORIGINALE**
````markdown
# 🏢 NETGESCON - INDICE MASTER UNIFICATO
## Sistema di Gestione Condominiale - Navigazione Centralizzata

> **🎯 ENTRY POINT UNICO** per tutto il progetto NetGescon  
> **📍 Posizione:** Root del progetto  
> **🔄 Aggiornato:** 15/07/2025 - Post fix layout e documentazione

---

## 🧭 **NAVIGAZIONE RAPIDA**

### 🚨 **EMERGENZA/TROUBLESHOOTING**
- 🆘 [`docs/QUICK-REFERENCE-CARD.md`](docs/QUICK-REFERENCE-CARD.md) - **Comandi salvavita**
- 🔧 [`docs/manuals/INTERFACCIA-UNICA-TROUBLESHOOTING.md`](docs/manuals/INTERFACCIA-UNICA-TROUBLESHOOTING.md) - **Fix layout/dashboard**
- 📚 [`docs/manuals/ARCHIVI-DATABASE-BIBBIA.md`](docs/manuals/ARCHIVI-DATABASE-BIBBIA.md) - **Bibbia archivi**
- ⚡ [`docs/logs/LOG-TEST-DASHBOARD-2025-07-15.md`](docs/logs/LOG-TEST-DASHBOARD-2025-07-15.md) - **Log ultimo fix**

### 📖 **DOCUMENTAZIONE STRUTTURATA**
- 📋 [`docs/00-INDICE-GENERALE.md`](docs/00-INDICE-GENERALE.md) - Indice documentazione tecnica
- 📄 [`docs/manuals/00-INDICE-MANUALI.md`](docs/manuals/00-INDICE-MANUALI.md) - Indice manuali operativi
- 🗺️ [`ROADMAP.md`](docs/ROADMAP.md) - Piano sviluppo milestone
- ✅ [`docs/checklists/CHECKLIST-IMPLEMENTAZIONE.md`](docs/checklists/CHECKLIST-IMPLEMENTAZIONE.md) - Task completati

---

## 🏗️ **STRUTTURA PROGETTO**

### 📁 **DIRECTORY PRINCIPALI**
```
netgescon/                              ← 🏠 ROOT PROGETTO
├── 00-INDICE-MASTER-NETGESCON.md      ← 🧭 QUESTO FILE (BUSSOLA)
├── laravel/                            ← 🌐 Applicazione Laravel
├── docs/                               ← 📚 Documentazione completa
├── brainstorming-development/          ← 💡 Brainstorming e sviluppo
├── estratti*/                          ← 📊 Dati archivi (estratti, estrattimiki, estrattiold)
├── backup/                             ← 💾 Backup database
└── scripts/                            ← 🔧 Script utilità
```

### 🌐 **APPLICAZIONE LARAVEL** (`laravel/`)
- **🚀 Avvio:** `php artisan serve --host=0.0.0.0 --port=8000`
- **🔑 Admin:** admin@example.com / password (Miki Admin)
- **📂 Views:** `resources/views/`
- **🎛️ Controllers:** `app/Http/Controllers/`
- **🗄️ Models:** `app/Models/`
- **📋 Migrations:** `database/migrations/`

---

## 🎯 **TASK E STATUS**

### ✅ **COMPLETATI (15/07/2025)**
- [x] **Fix dashboard guest** - View mancante risolta
- [x] **Amministratore Miki** - Utente admin@example.com attivato
- [x] **Form stabili avanzata** - Layout tab, multi-palazzine, dati bancari
- [x] **Fix layout spostamento** - Dashboard stabile, no più shift
- [x] **Progress bar footer** - Sostituito loading screen invasivo
- [x] **Ruolo condomino** - Fix errore ruolo mancante
- [x] **Documentazione bibbia** - Manuali centralizzati creati

### 🔄 **IN CORSO**
- [ ] Test installazione pulita
- [ ] Import dati reali archivi
- [ ] Validazione form stabili multi-palazzine
- [ ] Ottimizzazione performance dashboard

### 📋 **PROSSIMI**
- [ ] Sistema backup automatico
- [ ] API REST per mobile
- [ ] Reports avanzati
- [ ] Integrazione pagamenti

---

## 📚 **SEZIONI DOCUMENTAZIONE**

### 🛠️ **MANUALI OPERATIVI**
| Manual | Descrizione | Link |
|--------|-------------|------|
| 🔧 Troubleshooting | Fix interfaccia, layout, dashboard | [`INTERFACCIA-UNICA-TROUBLESHOOTING.md`](docs/manuals/INTERFACCIA-UNICA-TROUBLESHOOTING.md) |
| 📚 Bibbia Archivi | Database, import, installazione | [`ARCHIVI-DATABASE-BIBBIA.md`](docs/manuals/ARCHIVI-DATABASE-BIBBIA.md) |
| ⚡ Quick Reference | Comandi rapidi, emergenze | [`QUICK-REFERENCE-CARD.md`](docs/QUICK-REFERENCE-CARD.md) |

### 📖 **DOCUMENTAZIONE TECNICA**
| Sezione | Descrizione | Link |
|---------|-------------|------|
| 📋 Specifiche | Architettura, autenticazione | [`docs/01-SPECIFICHE-GENERALI.md`](docs/01-SPECIFICHE-GENERALI.md) |
| 🗺️ Roadmap | Piano sviluppo milestone | [`docs/ROADMAP.md`](docs/ROADMAP.md) |
| 📊 API | Documentazione API REST | [`docs/api/`](docs/api/) |
| ✅ Checklist | Task implementazione | [`docs/checklists/`](docs/checklists/) |

### 📝 **LOG E TRACKING**
| Log | Descrizione | Link |
|-----|-------------|------|
| 🔥 Ultimo Fix | Dashboard layout 15/07/2025 | [`LOG-TEST-DASHBOARD-2025-07-15.md`](docs/logs/LOG-TEST-DASHBOARD-2025-07-15.md) |
| 📈 Sviluppo | Log principale sviluppo | [`docs/LOG-SVILUPPO.md`](docs/LOG-SVILUPPO.md) |
| 📂 Tutti i Log | Directory completa log | [`docs/logs/`](docs/logs/) |

---

## 🚀 **AVVIO RAPIDO**

### 1️⃣ **Primo Accesso**
```bash
cd laravel
php artisan serve --host=0.0.0.0 --port=8000
# Login: admin@example.com / password
```

### 2️⃣ **Problema Layout/Dashboard?**
👉 [`docs/manuals/INTERFACCIA-UNICA-TROUBLESHOOTING.md`](docs/manuals/INTERFACCIA-UNICA-TROUBLESHOOTING.md)

### 3️⃣ **Import Dati/Database?**
👉 [`docs/manuals/ARCHIVI-DATABASE-BIBBIA.md`](docs/manuals/ARCHIVI-DATABASE-BIBBIA.md)

### 4️⃣ **Comandi Emergenza?**
👉 [`docs/QUICK-REFERENCE-CARD.md`](docs/QUICK-REFERENCE-CARD.md)

---

## 🔗 **BRAINSTORMING E SVILUPPO**

### 💡 **Idee e Pianificazione**
- [`brainstorming-development/MASTER-PLAN-SUMMARY.md`](brainstorming-development/MASTER-PLAN-SUMMARY.md)
- [`brainstorming-development/INTEGRAZIONE-COMPLETA-ESISTENTE.md`](brainstorming-development/INTEGRAZIONE-COMPLETA-ESISTENTE.md)
- [`brainstorming-development/00-INTEGRAZIONE-MATERIALE-ESISTENTE.md`](brainstorming-development/00-INTEGRAZIONE-MATERIALE-ESISTENTE.md)

### 🗂️ **Moduli Specifici**
```
brainstorming-development/
├── 01-stabili/              ← 🏢 Gestione stabili
├── 02-unita-immobiliari/    ← 🏠 Unità immobiliari  
├── 03-anagrafica-condomini/ ← 👥 Anagrafica
├── 04-gestione-finanziaria/ ← 💰 Finanze
├── 05-chiavi-sicurezza/     ← 🔐 Sicurezza
├── 06-interfaccia-universale/ ← 🎨 UI/UX
├── 07-gestione-documentale/ ← 📄 Documenti
├── 08-nuove-funzionalita-innovative/ ← ✨ Innovation
└── 09-sistema-contabile/    ← 📊 Contabilità
```

---

## 📊 **ARCHIVI DATI**

### 🗄️ **Estratti Database**
- `estratti/` - Archivio principale dati reali
- `estrattimiki/` - Dataset Miki (sample/test)
- `estrattiold/` - Archivio storico legacy

### 📁 **Strutture Dati**
- Anagrafica condomini
- Stabili e palazzine
- Unità immobiliari
- Dati catastali
- Informazioni bancarie

---

## ⚙️ **CONFIGURAZIONE E SETUP**

### 🔧 **Ambiente Sviluppo**
- **Laravel:** 10.x
- **PHP:** 8.1+
- **Database:** MySQL/MariaDB
- **Frontend:** Bootstrap 5 + Blade

### 🌍 **URL e Porte**
- **Sviluppo:** http://localhost:8000
- **Produzione:** TBD

### 🔑 **Credenziali Default**
- **Admin:** admin@example.com / password
- **Ruoli:** admin, super-admin

---

## 📞 **SUPPORTO E CONTATTI**

### 🆘 **In caso di problemi:**
1. **Prima:** Controlla [`QUICK-REFERENCE-CARD.md`](docs/QUICK-REFERENCE-CARD.md)
2. **Poi:** Leggi [`INTERFACCIA-UNICA-TROUBLESHOOTING.md`](docs/manuals/INTERFACCIA-UNICA-TROUBLESHOOTING.md)
3. **Infine:** Consulta i log in [`docs/logs/`](docs/logs/)

### 📧 **Team**
- **Michele** - Lead Developer
- **Miki** - Domain Expert & Admin

---

## 🔄 **AGGIORNAMENTI**

**📅 15/07/2025:**
- ✅ Fix dashboard layout spostamento
- ✅ Form stabili avanzata con tab
- ✅ Progress bar footer non invasiva
- ✅ Documentazione bibbia centralizzata
- ✅ Indice master unificato creato

**📅 Prossimo aggiornamento:** TBD

---

> **💡 TIP:** Questo file è il tuo **punto di partenza** per qualsiasi attività su NetGescon.  
> **🔄 Mantienilo aggiornato** ad ogni modifica importante del progetto!

---

**🏢 NetGescon** - Sistema di Gestione Condominiale Unificato  
**📧 Info:** admin@example.com | **🌐 URL:** http://localhost:8000

---

## 🐧 MIGRAZIONE SU LINUX

### 📋 DOCUMENTAZIONE MIGRAZIONE
- **[GUIDA MIGRAZIONE LINUX COMPLETA](GUIDA-MIGRAZIONE-LINUX-COMPLETA.md)** - *Guida step-by-step completa*
- **[Script di Migrazione](scripts/)** - *Script automatizzati per setup*
- **[README Script](scripts/README.md)** - *Istruzioni d'uso script*

### 🛠️ SCRIPT AUTOMATIZZATI
- **[setup-netgescon.sh](scripts/setup-netgescon.sh)** - *Setup ambiente Linux completo*
- **[setup-laravel.sh](scripts/setup-laravel.sh)** - *Configurazione progetto Laravel*
- **[nginx-config.sh](scripts/nginx-config.sh)** - *Configurazione Nginx automatica*
- **[backup-netgescon.sh](scripts/backup-netgescon.sh)** - *Backup automatico sistema*
- **[monitor-netgescon.sh](scripts/monitor-netgescon.sh)** - *Monitoraggio salute sistema*

### 🎯 RACCOMANDAZIONI MIGRAZIONE
- **Distribuzione**: Ubuntu Server 22.04 LTS
- **Hardware VM**: 4-8GB RAM, 80GB Storage, 2-4 CPU cores
- **Network**: Bridge Adapter o NAT con port forwarding
- **Ambiente**: Produzione ottimizzato con backup automatici

---

### 🚀 MIGRAZIONE RAPIDA - CHECKLIST

#### ✅ PRE-MIGRAZIONE (Windows)
- [ ] Backup completo progetto NetGescon
- [ ] Export database (se esistente)  
- [ ] Verifica file .env e configurazioni
- [ ] Test funzionalità correnti
- [ ] Download Ubuntu Server 22.04 LTS ISO

#### ✅ SETUP VM LINUX
- [ ] VM Ubuntu Server installata (4-8GB RAM, 80GB disk)
- [ ] SSH server attivo e accessibile
- [ ] Firewall UFW configurato
- [ ] Connessione internet verificata

#### ✅ INSTALLAZIONE AUTOMATICA
```bash
# 1. Copia script setup su VM Linux
wget [URL]/setup-netgescon.sh
chmod +x setup-netgescon.sh
./setup-netgescon.sh

# 2. Configura database MySQL
sudo mysql_secure_installation
# Segui istruzioni script per creazione DB

# 3. Trasferisci progetto Laravel
# Metodi: SCP, SFTP, USB, Git clone

# 4. Setup Laravel
chmod +x setup-laravel.sh  
./setup-laravel.sh

# 5. Configura Nginx
chmod +x nginx-config.sh
./nginx-config.sh

# 6. Test finale
php artisan serve --host=0.0.0.0 --port=8000
```

#### ✅ VERIFICA FUNZIONALITÀ
- [ ] Homepage NetGescon carica
- [ ] Login utenti funziona
- [ ] Dashboard accessibile
- [ ] Menu sidebar AJAX funzionano
- [ ] Database queries OK
- [ ] Upload file funziona

#### ✅ MANUTENZIONE
- [ ] Backup automatico configurato (crontab)
- [ ] Monitoraggio sistema attivo
- [ ] Log rotation configurato
- [ ] SSL configurato (se necessario)

**Tempo stimato totale: 30-60 minuti** ⏱️

---
