📋 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
412 lines
10 KiB
Markdown
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*
|