netgescon-master/unify-docs-in-existing.sh
Michele Windows e68ee85a18 🚀 CHECKPOINT STABILE - Sistema Contabile Avanzato
📋 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
2025-07-26 15:11:19 +02:00

338 lines
13 KiB
Bash

#!/bin/bash
# Script Unificazione Documentazione NetGescon per Linux
# Data: 18/07/2025
# Scopo: Unificare tutto il materiale nella cartella docs esistente mantenendo la struttura
echo "🔧 NETGESCON - UNIFICAZIONE NELLA CARTELLA DOCS ESISTENTE"
echo "=========================================================="
BASE_DIR="$HOME/netgescon"
DOCS_MAIN="$BASE_DIR/docs"
DOCS_LARAVEL="$BASE_DIR/netgescon-laravel/docs"
DOCS_UNIFIED="$BASE_DIR/DOCS-UNIFIED"
echo ""
echo "📁 Verifica cartelle esistenti..."
# Verifica esistenza cartelle
if [ ! -d "$DOCS_MAIN" ]; then
echo "❌ Cartella $DOCS_MAIN non trovata"
exit 1
fi
if [ ! -d "$DOCS_LARAVEL" ]; then
echo "❌ Cartella $DOCS_LARAVEL non trovata"
exit 1
fi
echo "✅ Cartelle sorgente verificate"
echo ""
echo "📋 FASE 1: Creazione sottocartelle organizzative in docs/"
# Crea sottocartelle per organizzare il materiale aggiuntivo
mkdir -p "$DOCS_MAIN/00-transizione-linux"
mkdir -p "$DOCS_MAIN/01-manuali-aggiuntivi"
mkdir -p "$DOCS_MAIN/02-architettura-laravel"
mkdir -p "$DOCS_MAIN/03-scripts-automazione"
mkdir -p "$DOCS_MAIN/04-materiali-windows"
mkdir -p "$DOCS_MAIN/05-backup-unificazione"
echo "✅ Sottocartelle create in docs/"
echo ""
echo "📋 FASE 2: Copia materiali da netgescon-laravel/docs/"
echo " 📂 Architettura Laravel..."
# Copia documentazione architettura da Laravel
cp "$DOCS_LARAVEL/ARCHITETTURA_MODULARE_COMPLETATA.md" "$DOCS_MAIN/02-architettura-laravel/" 2>/dev/null && echo " ✅ ARCHITETTURA_MODULARE_COMPLETATA.md"
cp "$DOCS_LARAVEL/RIEPILOGO_ARCHITETTURA_COMPLETATA.md" "$DOCS_MAIN/02-architettura-laravel/" 2>/dev/null && echo " ✅ RIEPILOGO_ARCHITETTURA_COMPLETATA.md"
cp "$DOCS_LARAVEL/PROTOCOLLO_COMUNICAZIONE.md" "$DOCS_MAIN/02-architettura-laravel/" 2>/dev/null && echo " ✅ PROTOCOLLO_COMUNICAZIONE.md"
cp "$DOCS_LARAVEL/sidebar-modulare.md" "$DOCS_MAIN/02-architettura-laravel/" 2>/dev/null && echo " ✅ sidebar-modulare.md"
echo " 📂 Manuali aggiuntivi..."
# Copia manuali operativi da Laravel
cp "$DOCS_LARAVEL/PROCEDURA_OPERATIVA.md" "$DOCS_MAIN/01-manuali-aggiuntivi/" 2>/dev/null && echo " ✅ PROCEDURA_OPERATIVA.md"
cp "$DOCS_LARAVEL/personalizzazione-tema.md" "$DOCS_MAIN/01-manuali-aggiuntivi/" 2>/dev/null && echo " ✅ personalizzazione-tema.md"
cp "$DOCS_LARAVEL/miki.md" "$DOCS_MAIN/01-manuali-aggiuntivi/" 2>/dev/null && echo " ✅ miki.md"
cp "$DOCS_LARAVEL/QUICK_REFERENCE.md" "$DOCS_MAIN/01-manuali-aggiuntivi/QUICK_REFERENCE_LARAVEL.md" 2>/dev/null && echo " ✅ QUICK_REFERENCE_LARAVEL.md"
echo " 📂 Cartelle complete..."
# Copia cartelle complete se esistono
if [ -d "$DOCS_LARAVEL/guide" ]; then
cp -r "$DOCS_LARAVEL/guide" "$DOCS_MAIN/02-architettura-laravel/" 2>/dev/null && echo " ✅ Cartella guide/"
fi
if [ -d "$DOCS_LARAVEL/specifiche" ]; then
cp -r "$DOCS_LARAVEL/specifiche" "$DOCS_MAIN/02-architettura-laravel/" 2>/dev/null && echo " ✅ Cartella specifiche/"
fi
if [ -d "$DOCS_LARAVEL/checklist" ]; then
cp -r "$DOCS_LARAVEL/checklist" "$DOCS_MAIN/01-manuali-aggiuntivi/" 2>/dev/null && echo " ✅ Cartella checklist/"
fi
if [ -d "$DOCS_LARAVEL/logs" ]; then
mkdir -p "$DOCS_MAIN/logs/logs-laravel"
cp -r "$DOCS_LARAVEL/logs"/* "$DOCS_MAIN/logs/logs-laravel/" 2>/dev/null && echo " ✅ Cartella logs/ (merged)"
fi
echo ""
echo "📋 FASE 3: Copia script e automazione"
echo " 📂 Script da netgescon-laravel..."
# Copia tutti gli script dalla directory Laravel
find "$BASE_DIR/netgescon-laravel" -maxdepth 1 -name "*.sh" -exec cp {} "$DOCS_MAIN/03-scripts-automazione/" \; 2>/dev/null
if [ $? -eq 0 ]; then
echo " ✅ Script .sh copiati"
fi
# Copia script specifici
cp "$BASE_DIR/netgescon-laravel/fix-vscode-install.sh" "$DOCS_MAIN/03-scripts-automazione/" 2>/dev/null && echo " ✅ fix-vscode-install.sh"
ls "$BASE_DIR/netgescon-laravel/setup-"*.sh 2>/dev/null | xargs -I {} cp {} "$DOCS_MAIN/03-scripts-automazione/" 2>/dev/null && echo " ✅ setup-*.sh"
ls "$BASE_DIR/netgescon-laravel/install-"*.sh 2>/dev/null | xargs -I {} cp {} "$DOCS_MAIN/03-scripts-automazione/" 2>/dev/null && echo " ✅ install-*.sh"
echo ""
echo "📋 FASE 4: Integrazione materiali Windows e transizione"
# Copia l'indice master nella root docs
cp "$BASE_DIR/00-INDICE-MASTER-NETGESCON.md" "$DOCS_MAIN/" 2>/dev/null && echo " ✅ 00-INDICE-MASTER-NETGESCON.md (in docs/)"
echo ""
echo "📋 FASE 5: Backup cartella DOCS-UNIFIED se esiste"
if [ -d "$DOCS_UNIFIED" ]; then
echo " 📂 Backup DOCS-UNIFIED..."
cp -r "$DOCS_UNIFIED" "$DOCS_MAIN/05-backup-unificazione/" 2>/dev/null && echo " ✅ DOCS-UNIFIED copiata in backup"
fi
echo ""
echo "📋 FASE 6: Copia immagini e materiali visivi"
echo " 📂 Immagini e screenshot..."
# Copia le cartelle di immagini che abbiamo usato per il debug
if [ -d "$BASE_DIR/DANEA Schermate" ]; then
mkdir -p "$DOCS_MAIN/images/danea-schermate"
cp -r "$BASE_DIR/DANEA Schermate"/* "$DOCS_MAIN/images/danea-schermate/" 2>/dev/null && echo " ✅ DANEA Schermate"
fi
if [ -d "$BASE_DIR/GESCON schermate" ]; then
mkdir -p "$DOCS_MAIN/images/gescon-schermate"
cp -r "$BASE_DIR/GESCON schermate"/* "$DOCS_MAIN/images/gescon-schermate/" 2>/dev/null && echo " ✅ GESCON Schermate"
fi
if [ -d "$BASE_DIR/GO - Schermate" ]; then
mkdir -p "$DOCS_MAIN/images/go-schermate"
cp -r "$BASE_DIR/GO - Schermate"/* "$DOCS_MAIN/images/go-schermate/" 2>/dev/null && echo " ✅ GO Schermate"
fi
if [ -d "$BASE_DIR/Schermate Ufficiali Netgescon" ]; then
mkdir -p "$DOCS_MAIN/images/schermate-ufficiali"
cp -r "$BASE_DIR/Schermate Ufficiali Netgescon"/* "$DOCS_MAIN/images/schermate-ufficiali/" 2>/dev/null && echo " ✅ Schermate Ufficiali"
fi
if [ -d "$BASE_DIR/VM - Impostazioni" ]; then
mkdir -p "$DOCS_MAIN/images/vm-setup"
cp -r "$BASE_DIR/VM - Impostazioni"/* "$DOCS_MAIN/images/vm-setup/" 2>/dev/null && echo " ✅ VM Impostazioni"
fi
echo ""
echo "📋 FASE 7: Creazione indice unificato per docs/"
# Crea un nuovo indice per la cartella docs unificata
cat > "$DOCS_MAIN/00-INDICE-DOCS-UNIFICATA.md" << 'EOF'
# 📚 NETGESCON - DOCUMENTAZIONE UNIFICATA
## 🧭 Indice Completo Cartella DOCS
> **🎯 DOCUMENTAZIONE PRINCIPALE** del progetto NetGescon
> **📍 Posizione:** `~/netgescon/docs/`
> **🔄 Aggiornato:** 18/07/2025 - Unificazione completa
---
## 📂 STRUTTURA DOCUMENTAZIONE PRINCIPALE
### 📖 **DOCUMENTAZIONE CORE** (Cartella principale)
- [`00-MANUALE-COMPLETO-NETGESCON-UNIFICATO.md`](00-MANUALE-COMPLETO-NETGESCON-UNIFICATO.md) - **Manuale principale**
- [`00-INDICE-MASTER-NETGESCON.md`](00-INDICE-MASTER-NETGESCON.md) - **Indice master progetto**
- [`04-DATABASE-STRUTTURE.md`](04-DATABASE-STRUTTURE.md) - Strutture database
- [`05-INTERFACCIA-UNIVERSALE.md`](05-INTERFACCIA-UNIVERSALE.md) - Interfaccia universale
- [`06-SISTEMA-MULTI-RUOLO.md`](06-SISTEMA-MULTI-RUOLO.md) - Sistema utenti e ruoli
- [`07-API-INTEGRAZIONI.md`](07-API-INTEGRAZIONI.md) - API e integrazioni
- [`08-FRONTEND-UX.md`](08-FRONTEND-UX.md) - Frontend e UX
### 🐧 **00-TRANSIZIONE-LINUX** - *Materiali migrazione e transizione*
- Materiali per migrazione e transizione (da integrare)
### 🛠️ **01-MANUALI-AGGIUNTIVI** - *Procedure e guide operative*
- `PROCEDURA_OPERATIVA.md` - Procedure operative standard
- `personalizzazione-tema.md` - Personalizzazione interfaccia
- `miki.md` - Note specifiche Miki
- `QUICK_REFERENCE_LARAVEL.md` - Reference rapido Laravel
- `checklist/` - Checklist operative
### 🏗️ **02-ARCHITETTURA-LARAVEL** - *Design e architettura sistema*
- `ARCHITETTURA_MODULARE_COMPLETATA.md` - **Architettura modulare**
- `RIEPILOGO_ARCHITETTURA_COMPLETATA.md` - **Riepilogo architettura**
- `PROTOCOLLO_COMUNICAZIONE.md` - Protocolli comunicazione
- `sidebar-modulare.md` - Sistema sidebar modulare
- `guide/` - Guide tecniche dettagliate
- `specifiche/` - Specifiche tecniche
### ⚙️ **03-SCRIPTS-AUTOMAZIONE** - *Script e automazione*
- `fix-vscode-install.sh` - **Fix installazione VS Code**
- `setup-*.sh` - Script setup ambiente
- `install-*.sh` - Script installazione componenti
- Altri script di automazione
### 💾 **04-MATERIALI-WINDOWS** - *Backup materiali Windows*
- Backup file temporanei Windows
- Materiali di transizione
### 📦 **05-BACKUP-UNIFICAZIONE** - *Backup processo unificazione*
- `DOCS-UNIFIED/` - Backup struttura precedente
### 🖼️ **IMAGES** - *Materiali visivi e screenshot*
- `danea-schermate/` - Screenshot DANEA
- `gescon-schermate/` - Screenshot GESCON
- `go-schermate/` - Screenshot GO
- `schermate-ufficiali/` - Screenshot ufficiali NetGescon
- `vm-setup/` - Screenshot setup VM
### 📁 **CARTELLE ESISTENTI** (Mantenute)
- `api/` - Documentazione API
- `checklists/` - Checklist implementazione
- `logs/` - Log sviluppo e sessioni
- `manuals/` - Manuali dettagliati
- `moduli/` - Documentazione moduli
- `specifications/` - Specifiche tecniche
- `team/` - Documentazione team
- `versione/` - Gestione versioni
---
## 🎯 **NAVIGAZIONE RAPIDA PER SCENARIO**
### 🆘 **EMERGENZA/TROUBLESHOOTING**
1. [`00-MANUALE-COMPLETO-NETGESCON-UNIFICATO.md`](00-MANUALE-COMPLETO-NETGESCON-UNIFICATO.md)
2. [`01-manuali-aggiuntivi/QUICK_REFERENCE_LARAVEL.md`](01-manuali-aggiuntivi/QUICK_REFERENCE_LARAVEL.md)
3. [`logs/`](logs/) - Consultare log recenti
### 🚀 **PRIMO ACCESSO/ONBOARDING**
1. [`00-INDICE-MASTER-NETGESCON.md`](00-INDICE-MASTER-NETGESCON.md)
2. [`05-INTERFACCIA-UNIVERSALE.md`](05-INTERFACCIA-UNIVERSALE.md)
3. [`02-architettura-laravel/ARCHITETTURA_MODULARE_COMPLETATA.md`](02-architettura-laravel/ARCHITETTURA_MODULARE_COMPLETATA.md)
### 🔧 **SVILUPPO E MODIFICHE**
1. [`02-architettura-laravel/ARCHITETTURA_MODULARE_COMPLETATA.md`](02-architettura-laravel/ARCHITETTURA_MODULARE_COMPLETATA.md)
2. [`04-DATABASE-STRUTTURE.md`](04-DATABASE-STRUTTURE.md)
3. [`07-API-INTEGRAZIONI.md`](07-API-INTEGRAZIONI.md)
### 🐧 **DEPLOYMENT E LINUX**
1. [`03-scripts-automazione/`](03-scripts-automazione/) - Script setup
2. [`images/vm-setup/`](images/vm-setup/) - Screenshot configurazione
---
## 📊 **VANTAGGI STRUTTURA UNIFICATA**
### ✅ **Organizzazione**
- **Tutto in una cartella** - docs/ come punto unico
- **Categorizzazione chiara** - Sottocartelle per tipo materiale
- **Backward compatibility** - Struttura esistente mantenuta
- **Facilità navigazione** - Percorsi intuitivi
### 🤖 **Per GitHub Copilot/AI**
- **Contesto completo** - Accesso a tutto il materiale
- **Struttura logica** - AI comprende organizzazione
- **Cross-reference** - Collegamenti tra documenti
- **Onboarding ottimale** - Informazioni complete
---
> **💡 NOTA IMPORTANTE**
> Questa struttura **mantiene docs/ come standard** e **integra tutto il materiale** in modo organizzato.
> **Un'unica cartella, tutto il materiale, navigazione chiara.**
---
**🏢 NETGESCON** - Documentazione Unificata
**📅 Data Unificazione:** 18/07/2025
**🎯 Standard:** docs/ come riferimento principale
EOF
echo " ✅ 00-INDICE-DOCS-UNIFICATA.md creato"
echo ""
echo "📋 FASE 8: Creazione inventario finale"
# Conta file e statistiche
TOTAL_FILES=$(find "$DOCS_MAIN" -type f | wc -l)
TOTAL_SIZE=$(du -sh "$DOCS_MAIN" | cut -f1)
cat > "$DOCS_MAIN/INVENTARIO-UNIFICAZIONE-FINALE.md" << EOF
# 📋 INVENTARIO UNIFICAZIONE DOCUMENTAZIONE FINALE
**Data:** $(date "+%d/%m/%Y %H:%M")
**Script:** unify-docs-in-existing.sh
## 📊 STATISTICHE FINALI
- **File totali:** $TOTAL_FILES
- **Dimensione totale:** $TOTAL_SIZE
- **Cartelle aggiunte:** 6 nuove sottocartelle
- **Materiali integrati:** Laravel + Immagini
## 📂 STRUTTURA CREATA
- 📁 00-transizione-linux/ - Materiali migrazione
- 📁 01-manuali-aggiuntivi/ - Guide operative aggiuntive
- 📁 02-architettura-laravel/ - Design sistema
- 📁 03-scripts-automazione/ - Script e tools
- 📁 04-materiali-windows/ - Backup Windows
- 📁 05-backup-unificazione/ - Backup DOCS-UNIFIED
- 📁 images/ - Screenshot e materiali visivi
## ✅ OPERAZIONI COMPLETATE
- [x] Integrazione docs Laravel
- [x] Copia script automazione
- [x] Backup materiali precedenti
- [x] Organizzazione immagini debug
- [x] Creazione indici navigazione
- [x] Mantenimento struttura esistente
## 🎯 RISULTATO
**SUCCESSO** - Tutta la documentazione è ora unificata nella cartella docs/ esistente mantenendo lo standard e aggiungendo tutto il materiale in modo organizzato.
---
*Generato da unify-docs-in-existing.sh*
EOF
echo " ✅ INVENTARIO-UNIFICAZIONE-FINALE.md creato"
echo ""
echo "✅ UNIFICAZIONE COMPLETATA NELLA CARTELLA DOCS ESISTENTE!"
echo "📂 Tutta la documentazione è ora in: $DOCS_MAIN"
echo "📋 Indice principale: $DOCS_MAIN/00-INDICE-DOCS-UNIFICATA.md"
echo "📊 Inventario: $DOCS_MAIN/INVENTARIO-UNIFICAZIONE-FINALE.md"
echo ""
echo "📊 STATISTICHE FINALI:"
echo "📄 File totali: $TOTAL_FILES"
echo "💾 Dimensione totale: $TOTAL_SIZE"
echo "📁 Struttura mantenuta + 6 nuove sottocartelle"
echo ""
echo "🎯 VANTAGGI OTTENUTI:"
echo " ✅ docs/ rimane lo standard principale"
echo " ✅ Tutto il materiale integrato e organizzato"
echo " ✅ Backward compatibility mantenuta"
echo " ✅ Navigazione chiara e intuitiva"
echo " ✅ Copilot avrà accesso completo"
echo ""
echo "🚀 PRONTO PER:"
echo " - Accesso VS Code completo"
echo " - Onboarding GitHub Copilot ottimale"
echo " - Navigazione documentazione unificata"
echo ""
echo "Unificazione completata con successo! 🎉"