8.1 KiB
Executable File
8.1 KiB
Executable File
🚀 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:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=netgescon
DB_USERNAME=netgescon_user
DB_PASSWORD=NetGescon2024!
🔑 CREDENZIALI COMPLETE:
# 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:
// Layout Base OBBLIGATORIO
@extends('admin.layouts.netgescon') // SEMPRE questo layout
// Struttura HTML Standard
<div class="min-h-screen bg-gray-50">
<header> <!-- Fixed top 70px --> </header>
<aside> <!-- Sidebar fixed 280px --> </aside>
<main> <!-- Content area responsive --> </main>
<footer> <!-- Fixed bottom 70px --> </footer>
</div>
📐 MENU STRUTTURA STANDARD:
// 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
<div class="tabs-container">
<nav class="tab-navigation">
<a href="#tab" class="tab-link active">Menu</a>
</nav>
<div class="tab-content">
@include('admin.stabili.tabs.content')
</div>
</div>
🎨 CSS CLASSES STANDARD:
/* 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:
-- 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:
// SOLUZIONE: Eager loading nel controller
$stabile->load(['tabelleMillesimali', 'vociSpesa', 'unitaImmobiliari']);
2. CSS non applicato:
# SOLUZIONE: Rebuild assets
npm run build
php artisan view:clear
3. Errore SQL ordinamento:
-- SOLUZIONE: Verifica colonna ordinamento
ALTER TABLE tabelle_millesimali ADD COLUMN ordinamento INT DEFAULT 0;
4. JavaScript non funziona:
<!-- SOLUZIONE: Verifica inclusione script -->
@push('scripts')
<script src="{{ asset('js/netgescon-admin.js') }}"></script>
@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:
// 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