📋 Commit iniziale con: - ✅ Documentazione unificata in docs/ - ✅ Codice Laravel in netgescon-laravel/ - ✅ Script automazione in scripts/ - ✅ Configurazione sync rsync - ✅ Struttura organizzata e pulita 🔄 Versione: 2025.07.19-1644 🎯 Sistema pronto per Git distribuito
10 KiB
10 KiB
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
# 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
# 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
# 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
# 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
# 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
# Test unitari
php artisan test
# Test specifici
php artisan test --filter=StabileTest
# Coverage
php artisan test --coverage
Debugging
# Log Laravel
tail -f storage/logs/laravel.log
# Debug queries
php artisan tinker
DB::enableQueryLog();
# ... esegui operazioni ...
DB::getQueryLog();
📁 SCRIPT UTILI
Setup Sviluppo
# /var/www/netgescon-complete/scripts/setup-dev-session.sh
# Avvia tutti i servizi necessari per sviluppo
./scripts/setup-dev-session.sh
Backup
# Backup completo
./scripts/backup/full-backup.sh
# Backup solo database
./scripts/backup/db-backup.sh
Sincronizzazione
# Sync con repository remoto
./scripts/sync/sync-remote.sh
# Sync documentazione
./scripts/sync/sync-docs.sh
🔍 RISOLUZIONE PROBLEMI
Problemi Comuni
1. Errori di Permessi
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
# Ricrea database
php artisan migrate:fresh --seed
# Reset configurazione
php artisan config:clear
php artisan cache:clear
3. Errori Composer
# Rigenera autoload
composer dump-autoload
# Installa dipendenze mancanti
composer install
4. Errori Laravel
# Pulisci cache
php artisan optimize:clear
# Rigenera chiavi
php artisan key:generate
Log e Debugging
# 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
# 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
# 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
laravelper domande specifiche
Comandi di Emergenza
# 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