📋 AGGIUNTE PRINCIPALI: - Sistema contabile partita doppia con gestioni multiple - Documentazione implementazione completa - Models Laravel: GestioneContabile, MovimentoPartitaDoppia - Controller ContabilitaAvanzataController - Migration sistema contabile completo - Scripts automazione e trasferimento - Manuali utente e checklist implementazione 📊 FILES PRINCIPALI: - docs/10-IMPLEMENTAZIONE-CONTABILITA-PARTITA-DOPPIA-GESTIONI.md - SPECIFICHE-SISTEMA-CONTABILE-COMPLETO.md - netgescon-laravel/database/migrations/2025_07_20_100000_create_complete_accounting_system.php - netgescon-laravel/app/Models/GestioneContabile.php ✅ CHECKPOINT SICURO PER ROLLBACK
374 lines
9.3 KiB
Markdown
374 lines
9.3 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
|
|
│ ├── 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/*
|