# 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 β”‚ β”œβ”€β”€ api/ # Documentazione API β”‚ β”œβ”€β”€ database/ # Schema e documentazione DB β”‚ └── deployment/ # Guide di deploy β”œβ”€β”€ manuals/ # Manuali utente e tecnici β”‚ β”œβ”€β”€ user-manuals/ # Manuali per utenti finali β”‚ β”œβ”€β”€ admin-manuals/ # Manuali amministrativi β”‚ └── technical-manuals/ # Documentazione tecnica β”œβ”€β”€ scripts/ # Script di automazione β”‚ β”œβ”€β”€ deployment/ # Script di deploy β”‚ β”œβ”€β”€ backup/ # Script di backup β”‚ β”œβ”€β”€ sync/ # Script di sincronizzazione β”‚ └── setup-dev-session.sh # Setup rapido ambiente dev β”œβ”€β”€ backups/ # Backup del progetto β”‚ β”œβ”€β”€ database/ # Backup database β”‚ β”œβ”€β”€ code/ # Backup codice β”‚ └── config/ # Backup configurazioni β”œβ”€β”€ resources/ # Risorse del progetto β”‚ β”œβ”€β”€ screenshots/ # Screenshot dell'applicazione β”‚ β”œβ”€β”€ mockups/ # Mockup e design β”‚ └── assets/ # Asset vari β”œβ”€β”€ FEATURES-INVENTORY.md # Inventario funzionalitΓ  β”œβ”€β”€ DEPLOYMENT-GUIDE.md # Guida deployment └── README-TRANSITION.md # Questo file ``` --- ## πŸš€ 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 /var/www/netgescon-complete # Esegui script di setup rapido ./scripts/setup-dev-session.sh # Avvia Laravel cd laravel-app 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 - **API Docs**: http://192.168.0.200:8000/api/docs --- ## πŸ”§ 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 /var/www/netgescon sudo chmod -R 755 /var/www/netgescon ``` ### PHP e Composer ```bash # Installazione dipendenze composer install --no-dev --optimize-autoloader # Aggiornamento dipendenze composer update # Generazione chiave applicazione php artisan key:generate ``` --- ## πŸŽ›οΈ 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 # /var/www/netgescon-complete/scripts/setup-dev-session.sh # Avvia tutti i servizi necessari per sviluppo ./scripts/setup-dev-session.sh ``` ### Backup ```bash # Backup completo ./scripts/backup/full-backup.sh # Backup solo database ./scripts/backup/db-backup.sh ``` ### Sincronizzazione ```bash # Sync con repository remoto ./scripts/sync/sync-remote.sh # Sync documentazione ./scripts/sync/sync-docs.sh ``` --- ## πŸ” RISOLUZIONE PROBLEMI ### Problemi Comuni #### 1. Errori di Permessi ```bash sudo chown -R www-data:www-data /var/www/netgescon sudo chmod -R 755 /var/www/netgescon 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 /var/www/netgescon/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 Utente**: `/manuals/user-manuals/` - **βš™οΈ Manuale Tecnico**: `/manuals/technical-manuals/` - **πŸ”§ Manuale Admin**: `/manuals/admin-manuals/` ### API Documentation - **Endpoint**: http://192.168.0.200:8000/api/docs - **Swagger UI**: Interfaccia interattiva per test API - **Postman Collection**: `/docs/api/netgescon.postman_collection.json` ### Database Schema - **ERD**: `/docs/database/schema.png` - **Dizionario Dati**: `/docs/database/data-dictionary.md` - **Migrations**: `/laravel-app/database/migrations/` --- ## πŸ”„ 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 ./scripts/deployment/deploy-staging.sh # Deploy su produzione (dopo test) ./scripts/deployment/deploy-production.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 ./scripts/reset-dev-environment.sh # Backup di emergenza ./scripts/backup/emergency-backup.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: Gennaio 2025* *πŸ€– Mantenuto con GitHub Copilot*