# NETGESCON - README DI TRANSIZIONE ## πŸ“‹ PANORAMICA DEL PROGETTO **NETGESCON** Γ¨ un sistema di gestione condominiale sviluppato in Laravel, progettato per gestire: - Stabili e condomini - Anagrafica inquilini e proprietari - Gestione amministratori - Fatturazione e contabilitΓ  - Reportistica e documenti ### 🎯 STATO ATTUALE - βœ… **Ambiente**: Ubuntu 24.04 LTS - βœ… **Framework**: Laravel 11.x - βœ… **Database**: MySQL 8.0 - βœ… **Server Web**: Apache2 - βœ… **PHP**: 8.1+ - βœ… **Accesso Remoto**: RDP + VNC configurati - βœ… **IDE**: VS Code + GitHub Copilot --- ## πŸ—‚οΈ STRUTTURA DEL PROGETTO ``` /var/www/netgescon-complete/ β”œβ”€β”€ laravel-app/ # Applicazione Laravel principale β”‚ β”œβ”€β”€ app/ β”‚ β”‚ β”œβ”€β”€ Models/ # Modelli Eloquent β”‚ β”‚ β”œβ”€β”€ Http/Controllers/ # Controller β”‚ β”‚ β”œβ”€β”€ Observers/ # Observer per auto-generazione codici β”‚ β”‚ └── ... β”‚ β”œβ”€β”€ database/ β”‚ β”‚ β”œβ”€β”€ migrations/ # Migrazioni database β”‚ β”‚ └── seeders/ # Dati di test β”‚ β”œβ”€β”€ resources/views/ # Template Blade β”‚ β”œβ”€β”€ routes/ # Definizione rotte β”‚ β”œβ”€β”€ public/ # Asset pubblici β”‚ β”œβ”€β”€ .env # Configurazione ambiente β”‚ └── composer.json # Dipendenze PHP β”œβ”€β”€ docs/ # Documentazione tecnica β”‚ β”œβ”€β”€ 00-transizione-linux/ # Guide migrazione β”‚ β”œβ”€β”€ 01-manuali-aggiuntivi/ # Manuali operativi β”‚ β”œβ”€β”€ 02-architettura-laravel/ # Architettura sistema β”‚ β”œβ”€β”€ 03-scripts-automazione/ # Script e tools β”‚ β”œβ”€β”€ images/ # Screenshot e materiali visivi β”‚ └── ... β”œβ”€β”€ scripts/ # Script di automazione └── backups/ # Backup del progetto ``` --- ## πŸš€ AVVIO RAPIDO ### 1. Accesso al Sistema ```bash # RDP (Raccomandato per sviluppo) mstsc /v:192.168.0.200:3389 # SSH (Per comandi rapidi) ssh netgescon@192.168.0.200 ``` ### 2. Avvio Ambiente di Sviluppo ```bash # Naviga nella directory del progetto cd ~/netgescon/netgescon-laravel # Avvia Laravel php artisan serve --host=0.0.0.0 --port=8000 ``` ### 3. Accesso all'Applicazione - **URL Principale**: http://192.168.0.200:8000 - **Admin Panel**: http://192.168.0.200:8000/admin - **Login**: admin@example.com / password --- ## πŸ”§ CONFIGURAZIONE AMBIENTE ### Database ```bash # Configurazione in .env DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=netgescon DB_USERNAME=netgescon_user DB_PASSWORD=netgescon_password # Comandi utili php artisan migrate # Esegui migrazioni php artisan db:seed # Popola dati di test php artisan migrate:fresh --seed # Reset completo DB ``` ### Server Web ```bash # Apache configurazione sudo a2ensite netgescon.conf sudo systemctl reload apache2 # Permessi directory sudo chown -R www-data:www-data ~/netgescon/netgescon-laravel sudo chmod -R 755 ~/netgescon/netgescon-laravel ``` --- ## πŸŽ›οΈ FUNZIONALITΓ€ PRINCIPALI ### πŸ“Š Dashboard - Panoramica generale sistema - Statistiche stabili e inquilini - Notifiche e alert - Grafici di riepilogo ### 🏒 Gestione Stabili - **Anagrafica stabili**: Dati identificativi e catastali - **Struttura**: Gestione scale, piani, unitΓ  immobiliari - **Amministratori**: Assegnazione e gestione - **Documenti**: Upload e gestione documentazione ### πŸ‘₯ Gestione Persone - **Inquilini**: Anagrafica completa, contratti, scadenze - **Proprietari**: Gestione proprietΓ  e quote millesimali - **Amministratori**: Credenziali e abilitazioni - **Fornitori**: Anagrafica e servizi ### πŸ’° Gestione Economica - **Fatturazione**: Creazione e invio fatture - **ContabilitΓ **: Registrazione movimenti - **Budget**: Previsioni e consuntivi - **Reportistica**: Bilanci e rendiconti ### πŸ” Sicurezza e Accessi - **Autenticazione**: Login multi-ruolo - **Autorizzazioni**: Controllo accessi per funzione - **Audit Trail**: Log delle operazioni - **Backup**: Backup automatici configurabili --- ## πŸ› οΈ STRUMENTI DI SVILUPPO ### IDE Configurato - **VS Code** con estensioni Laravel - **GitHub Copilot** per assistenza AI - **PHP Intelephense** per autocomplete - **Laravel Blade Snippets** - **Git integration** per version control ### Testing ```bash # Test unitari php artisan test # Test specifici php artisan test --filter=StabileTest # Coverage php artisan test --coverage ``` ### Debugging ```bash # Log Laravel tail -f storage/logs/laravel.log # Debug queries php artisan tinker DB::enableQueryLog(); # ... esegui operazioni ... DB::getQueryLog(); ``` --- ## πŸ“ SCRIPT UTILI ### Setup Sviluppo ```bash # Script nella cartella 03-scripts-automazione/ ./docs/03-scripts-automazione/setup-complete-environment.sh ``` ### Backup ```bash # Backup completo ./docs/03-scripts-automazione/manage-database.sh ``` ### Sincronizzazione ```bash # Sync con repository remoto ./docs/03-scripts-automazione/sync-bidirectional.sh ``` --- ## πŸ” RISOLUZIONE PROBLEMI ### Problemi Comuni #### 1. Errori di Permessi ```bash sudo chown -R www-data:www-data ~/netgescon/netgescon-laravel sudo chmod -R 755 ~/netgescon/netgescon-laravel sudo chmod -R 775 storage bootstrap/cache ``` #### 2. Errori Database ```bash # Ricrea database php artisan migrate:fresh --seed # Reset configurazione php artisan config:clear php artisan cache:clear ``` #### 3. Errori Composer ```bash # Rigenera autoload composer dump-autoload # Installa dipendenze mancanti composer install ``` #### 4. Errori Laravel ```bash # Pulisci cache php artisan optimize:clear # Rigenera chiavi php artisan key:generate ``` ### Log e Debugging ```bash # Log Laravel tail -f ~/netgescon/netgescon-laravel/storage/logs/laravel.log # Log Apache sudo tail -f /var/log/apache2/error.log # Log MySQL sudo tail -f /var/log/mysql/error.log ``` --- ## πŸ“š DOCUMENTAZIONE ### Manuali Disponibili - **πŸ“– Manuale Principale**: [`docs/00-MANUALE-COMPLETO-NETGESCON-UNIFICATO.md`](../00-MANUALE-COMPLETO-NETGESCON-UNIFICATO.md) - **βš™οΈ Manuali Aggiuntivi**: [`docs/01-manuali-aggiuntivi/`](../01-manuali-aggiuntivi/) - **πŸ—οΈ Architettura**: [`docs/02-architettura-laravel/`](../02-architettura-laravel/) ### Documentazione Tecnica - **Strutture Database**: [`docs/04-DATABASE-STRUTTURE.md`](../04-DATABASE-STRUTTURE.md) - **Interfaccia Universale**: [`docs/05-INTERFACCIA-UNIVERSALE.md`](../05-INTERFACCIA-UNIVERSALE.md) - **Sistema Multi-Ruolo**: [`docs/06-SISTEMA-MULTI-RUOLO.md`](../06-SISTEMA-MULTI-RUOLO.md) ### Immagini e Screenshot - **Screenshot Debug**: [`docs/images/`](../images/) - **Setup VM**: [`docs/images/vm-setup/`](../images/vm-setup/) - **Schermate Ufficiali**: [`docs/images/schermate-ufficiali/`](../images/schermate-ufficiali/) --- ## πŸ”„ WORKFLOW DI SVILUPPO ### 1. Feature Development ```bash # Crea nuovo branch git checkout -b feature/nome-feature # Sviluppa e testa # ... sviluppo ... php artisan test # Commit e push git add . git commit -m "Add: nuova feature" git push origin feature/nome-feature ``` ### 2. Code Review - Usa GitHub PR per review del codice - Esegui test automatici - Valida con GitHub Copilot ### 3. Deploy ```bash # Deploy su staging ./docs/03-scripts-automazione/quick-deploy.sh # Deploy su produzione (dopo test) ./docs/03-scripts-automazione/setup-complete-environment.sh ``` --- ## 🎯 ONBOARDING CHECKLIST ### Per Nuovi Sviluppatori - [ ] Accesso RDP/SSH configurato - [ ] VS Code + Copilot installato - [ ] Progetto clonato e dipendenze installate - [ ] Database configurato e migrato - [ ] Test eseguiti con successo - [ ] Documentazione letta - [ ] Primo commit effettuato ### Per GitHub Copilot/AI - [ ] Struttura progetto analizzata - [ ] Modelli e relazioni compresi - [ ] Pattern architetturali identificati - [ ] Test suite esaminata - [ ] Documentazione API studiata - [ ] Convenzioni di codice apprese --- ## πŸ“ž SUPPORTO E CONTATTI ### Risorse di Aiuto - **GitHub Copilot**: Assistenza in tempo reale nel codice - **Laravel Docs**: https://laravel.com/docs - **Stack Overflow**: Tag `laravel` per domande specifiche ### Comandi di Emergenza ```bash # Restart completo servizi sudo systemctl restart apache2 mysql # Reset ambiente sviluppo ./docs/03-scripts-automazione/repair-database.sh # Backup di emergenza ./docs/03-scripts-automazione/manage-database.sh ``` --- ## πŸ“ˆ ROADMAP E TODO ### Immediate (Prossime 2 settimane) - [ ] Completare test suite - [ ] Implementare API REST complete - [ ] Aggiungere validazione frontend - [ ] Ottimizzare performance query ### Breve Termine (1-2 mesi) - [ ] Interfaccia mobile-responsive - [ ] Sistema notifiche email - [ ] Integrazione sistemi contabili - [ ] Report avanzati ### Lungo Termine (3-6 mesi) - [ ] App mobile nativa - [ ] Integrazione IoT (smart meters) - [ ] AI per previsioni economiche - [ ] Multi-tenant architecture --- *πŸ“ Ultimo aggiornamento: 18 Luglio 2025* *πŸ€– Documentazione unificata in cartella docs/*