# πŸš€ SISTEMA AUTOMAZIONE SVILUPPO NETGESCON ## Comandi Rapidi per Development Workflow ### πŸ“… Versione: 1.0 - 28 Luglio 2025 ### 🎯 Obiettivo: Eliminare errori e accelerare sviluppo --- ## πŸ“‹ COMANDI SISTEMA ### 🎨 **UIX:** - Sviluppo Interfaccia Unica **Uso:** Quando sviluppi nuovi menu, layout, componenti UI **Pre-requisiti:** Leggi specifiche interfaccia PRIMA di procedere ### πŸ”§ **FIX:** - Risoluzione Problemi **Uso:** Quando risolvi bug, errori, malfunzionamenti **Pre-requisiti:** Analizza logs e troubleshooting esistente ### πŸ§ͺ **TESTX:** - Testing Automatizzato **Uso:** Per verificare strutture, menu, funzionalitΓ  **Pre-requisiti:** Esegui controlli sistemici prima di rilascio --- **Uso:** Quando risolvi bug, errori, malfunzionamenti **Pre-requisiti:** Analizza logs e troubleshooting esistente ### πŸ§ͺ **TESTX:** - Testing Automatizzato **Uso:** Per verificare strutture, menu, funzionalitΓ  **Pre-requisiti:** Esegui controlli sistemici prima di rilascio --- ## 🎨 COMANDO UIX: - SPECIFICHE INTERFACCIA ### πŸ“Š **STACK TECNOLOGICO FISSO**: - **CSS Framework**: Tailwind CSS 3.x (PRINCIPALE) + Bootstrap 5 (supporto) - **JavaScript**: Vanilla JS (NO jQuery) - **Backend**: Laravel 10.x + Blade Templates - **Database**: MySQL 8.0 - **Build System**: Vite 4.x - **Icons**: Font Awesome 6 ### πŸ—„οΈ **DATABASE CONNESSIONE**: ```env DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=netgescon DB_USERNAME=netgescon_user DB_PASSWORD=NetGescon2024! ``` ### πŸ”‘ **CREDENZIALI COMPLETE**: ```bash # MySQL Database DB_DATABASE=netgescon DB_USERNAME=netgescon_user DB_PASSWORD=NetGescon2024! # Git Repository GITEA_URL=http://192.168.0.200:3000/NetGescon/netgescon-master.git GITEA_USER=michele GITEA_TOKEN=fd343cbe1d0d7a48e49ca3478f162d2911133670 # Sistema URLs PROD_URL=http://192.168.0.200:8000 ADMIN_URL=http://192.168.0.200:8000/admin/admin # Condivisione Rete (Windows ↔ Linux) SERVER_IP=192.168.0.200 SAMBA_USER=michele SAMBA_PASSWORD=netgescon123 NETBIOS_NAME=NETGESCON-DEV SHARE_DEV=\\192.168.0.200\netgescon-dev SHARE_DOCS=\\192.168.0.200\netgescon-docs SHARE_PROD=\\192.168.0.200\netgescon-production ``` ### 🎯 **LAYOUT PRINCIPALE**: ```php // Layout Base OBBLIGATORIO @extends('admin.layouts.netgescon') // SEMPRE questo layout // Struttura HTML Standard
``` ### πŸ“ **MENU STRUTTURA STANDARD**: ```php // Controller Pattern public function show(Stabile $stabile) { $stabile->load([ 'tabelleMillesimali' => function($query) { $query->orderBy('ordinamento')->orderBy('nome_tabella'); }, 'vociSpesa' => function($query) { $query->orderBy('ordinamento')->orderBy('descrizione'); } ]); return view('admin.stabili.show', compact('stabile')); } // Blade Pattern
@include('admin.stabili.tabs.content')
``` ### 🎨 **CSS CLASSES STANDARD**: ```css /* Containers */ .netgescon-container { @apply max-w-7xl mx-auto px-4 sm:px-6 lg:px-8; } .netgescon-card { @apply bg-white rounded-lg shadow-sm border; } .netgescon-header { @apply bg-gradient-to-r from-blue-600 to-blue-700 text-white; } /* Buttons */ .btn-netgescon-primary { @apply bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded-md; } .btn-netgescon-secondary { @apply bg-gray-100 hover:bg-gray-200 text-gray-700 px-4 py-2 rounded-md; } /* Forms */ .form-netgescon { @apply space-y-6; } .input-netgescon { @apply border-gray-300 rounded-md shadow-sm focus:border-blue-500; } ``` ### πŸ“Š **TABELLE DATABASE PRINCIPALI**: ```sql -- Sempre usare eager loading per relazioni stabili -> id, denominazione, amministratore_id tabelle_millesimali -> id, stabile_id, nome_tabella, ordinamento voci_spesa -> id, stabile_id, descrizione, ordinamento unita_immobiliari -> id, stabile_id, scala, interno amministratori -> id, denominazione, codice_fiscale ``` --- ## πŸ”§ COMANDO FIX: - TROUBLESHOOTING RAPIDO ### 🚨 **PROBLEMI COMUNI E SOLUZIONI**: #### 1. **Tabs vuoti/dati non visibili**: ```php // SOLUZIONE: Eager loading nel controller $stabile->load(['tabelleMillesimali', 'vociSpesa', 'unitaImmobiliari']); ``` #### 2. **CSS non applicato**: ```bash # SOLUZIONE: Rebuild assets npm run build php artisan view:clear ``` #### 3. **Errore SQL ordinamento**: ```sql -- SOLUZIONE: Verifica colonna ordinamento ALTER TABLE tabelle_millesimali ADD COLUMN ordinamento INT DEFAULT 0; ``` #### 4. **JavaScript non funziona**: ```html @push('scripts') @endpush ``` ### πŸ“‹ **CHECKLIST DEBUG**: - [ ] Controller ha eager loading? - [ ] Relazioni modelli corrette? - [ ] CSS build eseguito? - [ ] JavaScript incluso? - [ ] Database ha tutti i campi? - [ ] Permessi file corretti? --- ## πŸ§ͺ COMANDO TESTX: - TESTING STRUTTURE ### πŸ“Š **TEST AUTOMATICI MENU**: ```php // Test esistenza dati SELECT COUNT(*) FROM tabelle_millesimali WHERE stabile_id = 1; -- > 0 SELECT COUNT(*) FROM voci_spesa WHERE stabile_id = 1; -- > 0 // Test relazioni $stabile = Stabile::with(['tabelleMillesimali', 'vociSpesa'])->find(1); $stabile->tabelleMillesimali->count(); // > 0 $stabile->vociSpesa->count(); // > 0 ``` ### 🎯 **TEST INTERFACCIA**: - [ ] URL accessibile: http://192.168.0.200:8000/admin/stabili/1/show - [ ] Layout corretto (header, sidebar, content, footer) - [ ] Tabs navigabili e funzionanti - [ ] Dati visibili in tutte le sezioni - [ ] Responsive design mobile/desktop - [ ] JavaScript interazioni funzionanti ### πŸ“± **TEST RESPONSIVE**: - [ ] Mobile (320px-768px): Stack verticale - [ ] Tablet (768px-1024px): Layout ridotto - [ ] Desktop (1024px+): Layout completo --- ## πŸ“ FILE RIFERIMENTO RAPIDO ### πŸ”‘ **CREDENZIALI E ACCESSI**: - **Database**: netgescon / netgescon_user / NetGescon2024! - **Admin URL**: http://192.168.0.200:8000/admin/admin - **Git Remote**: http://192.168.0.200:3000/NetGescon/netgescon-master.git - **Samba Share Dev**: \\192.168.0.200\netgescon-dev (michele/netgescon123) - **Samba Share Prod**: \\192.168.0.200\netgescon-production (michele/netgescon123) - **Credenziali Complete**: `/docs/05-backup-unificazione/files-scattered-production/credenziali.txt` ### 🎨 **INTERFACCIA UNICA**: - **Master Guide**: `/docs/90-UI-interfaccia-unica/00-MASTER-INTERFACCIA-UNICA.md` - **Troubleshooting**: `/docs/90-UI-interfaccia-unica/99-TROUBLESHOOTING.md` - **JavaScript**: `/docs/90-UI-interfaccia-unica/07-JAVASCRIPT.md` ### πŸ—οΈ **ARCHITETTURA**: - **Database**: `/docs/04-DATABASE-STRUTTURE.md` - **Modelli Laravel**: `/docs/02-architettura-laravel/` - **Technical Specs**: `/docs/05-backup-unificazione/files-scattered-production/TECHNICAL_SPECS.md` ### πŸ”§ **OPERATIVO**: - **Manual Tabs Working**: `/docs/05-backup-unificazione/files-scattered-production/MANUAL-TABS-NETGESCON-WORKING.md` - **Recovery Guide**: `/docs/05-backup-unificazione/files-scattered-production/RECOVERY-GUIDE.md` --- ## ⚑ WORKFLOW AUTOMAZIONE ### 1. **RICEVO COMANDO**: ``` User: "UIX: Crea nuovo menu gestione fornitori" ``` ### 2. **STEP AUTOMATICI**: - βœ… Leggo Master Guide interfaccia - βœ… Verifico struttura database - βœ… Controllo layout esistenti - βœ… Applico pattern standard ### 3. **SVILUPPO GUIDATO**: - Controller con eager loading - Blade con layout netgescon - CSS classes standard - JavaScript modulare ### 4. **TEST AUTOMATICO**: - Verifica responsive - Test dati visibili - Controllo performance --- ## 🎯 VANTAGGI SISTEMA ### βœ… **ZERO ERRORI**: - Specifiche sempre aggiornate - Pattern consolidati - Test automatizzati ### ⚑ **VELOCITΓ€ SVILUPPO**: - No ricerca documentazione - Setup immediato - Workflow ottimizzato ### πŸ”§ **MANUTENZIONE**: - Standard consolidati - Debug semplificato - Update centralizzato --- **πŸš€ PRONTO PER L'USO!** **Usa: UIX:, FIX:, TESTX: per attivare l'automazione**