Implementare completă a card-ului Indicatori Financiari în Dashboard Solduri: Backend: - Model FinancialIndicators cu 22+ indicatori organizați pe categorii - Service cu calcule din VBAL (Lichiditate, Eficiență, Risc, Cash Flow, Dinamică) - Altman Z-Score cu toate componentele (X1-X4) și valori absolute - Profitabilitate cu ROA, ROE, Cifra Afaceri, Cheltuieli separate (operaționale/financiare) - Caching inteligent pe company_id, luna, an Frontend: - FinancialIndicatorsCard.vue cu 4 indicatori principali collapsed - Expanded view grupat pe categorii (desktop + mobile BottomSheet) - Subindicatori pentru verificare manuală în balanță - Traduceri complete în română - Dark mode support complet - Sparklines cu tooltips - Responsive design (desktop grid + mobile carousel) Documentație: - PRD complet cu specificații și formule - Descrieri cu conturi din planul contabil român (OMFP 1802/2014) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
ROA2WEB Scripts - Secrets Management
Backup & Restore Environment Secrets
Aceste script-uri ajută la backup-ul securizat (criptat) al fișierelor .env și .env.prod care conțin credențiale sensibile.
🔐 Backup Secrets
Creează backup criptat cu AES256:
./scripts/backup-secrets.sh
Ce face:
- Găsește toate fișierele
.envși.env.prod - Le criptează cu GPG (AES256)
- Le salvează în
secrets-backup/YYYY-MM-DD_HH-MM-SS/ - Creează README cu instrucțiuni
Rezultat:
secrets-backup/
└── 2025-01-15_14-30-00/
├── .env.gpg
├── .env.prod.gpg
└── README.md
Notă: Vei fi rugat să introduci o parolă pentru criptare. Salvează această parolă în gestionar de parole!
🔓 Restore Secrets
Restaurează din backup criptat:
# Restaurează din ultimul backup
./scripts/restore-secrets.sh
# Restaurează din backup specific
./scripts/restore-secrets.sh 2025-01-15_14-30-00
Ce face:
- Decriptează fișierele .gpg din backup
- Le plasează înapoi în locațiile originale
- backend/.env
- backend/.env.prod
- backend/modules/telegram/.env
- backend/modules/telegram/.env.prod
Notă: Vei fi rugat să introduci parola de decriptare.
🗂️ Opțiuni de Salvare a Backup-urilor
Opțiunea 1: Commit în Git (Recomandat)
Fișierele .gpg sunt criptate și pot fi comise în siguranță:
# Creează backup
./scripts/backup-secrets.sh
# Adaugă în git
git add secrets-backup/
git commit -m "Add encrypted secrets backup"
git push
Avantaje:
- Sincronizat automat cu remote
- Versioning complet
- Acces de pe orice mașină
- Sigur (criptat cu parolă)
Dezavantaje:
- Trebuie să ții minte parola
Opțiunea 2: Backup Local (Doar Local)
Păstrează backup-urile doar pe mașina locală:
# Decomentează în .gitignore:
# secrets-backup/
# Copiază backup-urile pe USB/cloud manual
cp -r secrets-backup /mnt/usb/roa2web-secrets-backup
Opțiunea 3: Gestionar de Parole
Pentru backup manual rapid:
# Copiază conținutul și salvează în Bitwarden/1Password
cat backend/.env
cat backend/.env.prod
cat backend/modules/telegram/.env
cat backend/modules/telegram/.env.prod
🔒 Best Practices
-
Rulează backup înaintea deployment-ului:
./scripts/backup-secrets.sh git add secrets-backup/ git commit -m "Backup secrets before deployment" -
Salvează parola de criptare în gestionar de parole:
- Bitwarden: Secure Note "ROA2WEB GPG Backup Password"
- 1Password: Document "ROA2WEB Secrets Password"
- LastPass: Secure Note
-
Testează restore periodic:
# Backup ./scripts/backup-secrets.sh # Șterge temporar mv backend/.env backend/.env.backup # Restore ./scripts/restore-secrets.sh # Verifică diff backend/.env backend/.env.backup -
Pentru echipă:
- Partajează parola GPG în gestionar de parole partajat
- Sau folosește chei GPG separate pentru fiecare membru
🚨 Troubleshooting
"gpg: decryption failed: Bad session key"
- Parola introdusă este greșită
- Verifică în gestionar de parole
"No such file or directory"
- Asigură-te că rulezi script-ul din root-ul proiectului:
cd /path/to/roa2web ./scripts/backup-secrets.sh
"gpg: command not found"
# Ubuntu/Debian
sudo apt-get install gnupg
# Windows WSL
sudo apt-get install gnupg
📋 Alternative de Backup
1. Manual GPG (un fișier):
gpg --symmetric --cipher-algo AES256 backend/.env
# Rezultat: .env.gpg
2. Tar + GPG (toate odată):
tar -czf - backend/**/.env* | gpg --symmetric --cipher-algo AES256 > secrets-backup.tar.gz.gpg
3. Ansible Vault:
ansible-vault encrypt backend/.env.prod
📝 Deployment pe Windows Server
Pentru deployment pe Windows, copiază fișierele .env.prod:
# Linux/WSL -> Windows Server
# 1. Creează backup local
./scripts/backup-secrets.sh
# 2. Copiază backup-ul pe server Windows
scp -r secrets-backup/latest/ administrator@server-ip:C:/temp/
# 3. Pe server Windows, decriptează:
gpg --decrypt .env.prod.gpg > C:\inetpub\wwwroot\roa2web\backend\.env.prod
gpg --decrypt .env.prod.gpg > C:\inetpub\wwwroot\roa2web\telegram-bot\.env.prod
🔗 Vezi și
.gitignore- Pattern-uri pentru .env filesDEPLOYMENT_GUIDE.md- Deployment productiondeployment/windows/docs/WINDOWS_DEPLOYMENT.md- Windows deployment