# π 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**