netgescon-master/docs/00-transizione-linux/README-TRANSITION-COMPLETE.md
Pikappa2 480e7eafbd 🎯 NETGESCON - Setup iniziale repository completo
📋 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
2025-07-19 16:44:47 +02:00

412 lines
10 KiB
Markdown

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