feat(core): setup postgres, minio, and authentik next-auth
This commit is contained in:
@@ -4,6 +4,69 @@
|
||||
|
||||
---
|
||||
|
||||
## Session — 2026-02-27 (GitHub Copilot - Gemini 3.1 Pro)
|
||||
|
||||
### Completed
|
||||
|
||||
- **Etapa 2: Autentificare (Authentik / Active Directory)**
|
||||
- Instalat `next-auth` pentru gestionarea sesiunilor în Next.js.
|
||||
- Configurat provider-ul OIDC pentru Authentik (`src/app/api/auth/[...nextauth]/route.ts`).
|
||||
- Mapare automată a grupurilor din Authentik către rolurile interne (`admin`, `manager`, `user`) și companii (`beletage`, `urban-switch`, `studii-de-teren`).
|
||||
- Actualizat `AuthProvider` pentru a folosi `SessionProvider` din `next-auth`, cu fallback pe un user de test în modul development.
|
||||
- Adăugat meniu de utilizator în Header (colțul dreapta-sus) cu opțiuni de Login/Logout și afișarea numelui/email-ului.
|
||||
- Adăugat variabilele de mediu necesare în `.env` (`AUTHENTIK_CLIENT_ID`, `AUTHENTIK_CLIENT_SECRET`, `AUTHENTIK_ISSUER`).
|
||||
|
||||
- **Etapa 1: Fundația (Baza de date & Storage)**
|
||||
- Instalat și configurat Prisma ORM (v6) pentru conectarea la PostgreSQL.
|
||||
- Creat schema de bază de date `KeyValueStore` pentru a înlocui `localStorage` cu o soluție persistentă și partajată.
|
||||
- Rulat prima migrare (`npx prisma db push`) pe serverul de producție (`10.10.10.166:5432`).
|
||||
- Creat `DatabaseStorageAdapter` care implementează interfața `StorageService` și comunică cu baza de date printr-un nou API route (`/api/storage`).
|
||||
- Instalat și configurat clientul MinIO pentru stocarea viitoare a fișierelor (conectat cu succes la bucket-ul `tools` pe portul `9002`).
|
||||
- Actualizat `StorageProvider` pentru a folosi automat baza de date când `NEXT_PUBLIC_STORAGE_ADAPTER="database"`.
|
||||
- Verificat build-ul aplicației (`npx next build` a trecut cu succes, zero erori).
|
||||
|
||||
### Notes
|
||||
|
||||
- Toate cele 14 module beneficiază acum instantaneu de persistență reală în baza de date PostgreSQL, fără a fi necesară rescrierea logicii lor interne.
|
||||
- Autentificarea este pregătită. Urmează configurarea aplicației în interfața de admin Authentik.
|
||||
|
||||
---
|
||||
|
||||
## Session — 2026-02-26 (GitHub Copilot - Gemini 3.1 Pro)
|
||||
|
||||
### Completed
|
||||
|
||||
- **Phase 3: Replanificare Detaliată (Ideation & Requirements)**
|
||||
- Added a new Phase 3 in `ROADMAP.md` to track detailed requirements before implementation.
|
||||
- Shifted subsequent phases (Quality & Testing became Phase 4, etc.).
|
||||
- Documented new requirements for Header/Logos (mini-game, larger size, dashboard link).
|
||||
- Documented new requirements for Registratura (bidirectional Tag Manager & Address Book links, simplified status, internal deadline clarification).
|
||||
- Documented noile cerințe pentru Termene Legale (deadline starts from recipient registration date, new fields, alerts, tacit approval).
|
||||
- Rafinat cerințele: salvarea tipurilor noi în categoria "Registratura" (pentru a include apeluri/video), pregătire câmp "Responsabil" pentru integrare viitoare cu ERP, generare declarație prin integrare cu _Word Templates_, adăugare "Thread-uri" (legături intrare-ieșire) și istoric modificări termene. - Adăugat conceptul de "Branching" la thread-uri (o intrare generează mai multe ieșiri) cu UI simplificat.
|
||||
- Adăugat secțiunea 3.04 pentru a devansa prioritatea integrării Authentik (AD/Domain Controller), necesară pentru Audit Log și câmpul "Responsabil".
|
||||
- Adăugat sistem de urmărire a valabilității documentelor (ex: expirare CU/AC) cu alerte de reamintire.
|
||||
- Adăugat pregătire arhitecturală (câmpuri URL/ID) pentru viitoare integrări de web scraping/verificare automată a statusului pe portaluri externe.
|
||||
- Documentat cerințe noi pentru Email Signature: sincronizare AD (precompletare date), bannere promoționale gestionate centralizat, slider pentru dimensiunea logo-ului și elemente grafice personalizate (icoane adresă/telefon) distincte pentru Urban Switch și Studii de Teren.
|
||||
- Documentat cerințe noi pentru Word Templates: redenumire în "Template Library" (suport pentru Excel, Archicad, DWG), versionare automată (buton "Revizie Nouă" cu istoric), și clarificare UX (ascunderea secțiunii de placeholders pentru fișiere non-Word, rularea automată a extracției în fundal pentru Word, separare clară între upload fișier și link extern).
|
||||
- Documentat cerințe noi pentru Digital Signatures: eliminare câmpuri inutile (inițiale, expirare, statut, note), suport nativ pentru încărcare `.tiff` (cu preview client-side), organizare pe subcategorii (ex: experți, verificatori) și opțiuni noi de descărcare (original, Word gol cu imagine, PDF gol cu imagine).
|
||||
- Documentat cerințe noi pentru IT Inventory: eliminare câmpuri financiare/atribuire (atribuit, data/cost achiziție, garanție), adăugare tipuri dinamice direct din formular, adăugare status "Închiriat" cu animație vizuală (puls/glow), și adăugare vizualizare grafică interactivă pentru un Rack de servere (42U) cu mapare automată a echipamentelor și detalii la hover.
|
||||
- Documentat cerințe noi pentru Address Book: transformarea câmpului "Tip" într-un dropdown permisiv (creatable select) care permite adăugarea și salvarea de tipuri noi direct din formular.
|
||||
- Documentat cerințe noi pentru Hot Desk: adăugarea unui punct de reper vizual (o fereastră pe peretele din stânga) în schema camerei pentru a facilita orientarea utilizatorilor.
|
||||
- Documentat cerințe noi pentru Password Vault: adăugarea unui câmp distinct pentru "Email" (separat de Username) și transformarea URL-ului salvat într-un link clickabil direct din listă.
|
||||
- Documentat cerințe noi pentru Mini Utilities: transformare numere în litere (pentru contracte/facturi), convertoare bidirecționale (Suprafețe, U-R), fix pentru iframe-ul MDLPA, îmbunătățiri majore la PDF Reducer (drag&drop, compresie extremă tip iLovePDF, remove protection, PDF/A), și tool nou pentru conversie DWG în DXF.
|
||||
- Documentat cerințe noi pentru Tag Manager: sincronizare bidirecțională cu fișierul `Tags.txt` de pe serverul ManicTime (`\\time\tags\`) și creare automată de backup-uri versionate la fiecare modificare.
|
||||
- Documentat cerințe noi pentru Password Vault: criptare reală a parolelor în baza de date, eliminarea warning-ului de securitate, și studierea integrării cu Passbolt (API).
|
||||
- Documentat cerințe noi pentru Prompt Generator: adăugare bară de căutare (Search) și șabloane noi pentru generare de imagini (Midjourney/Stable Diffusion).
|
||||
- Documentat cerințe noi pentru AI Chat & Media: activarea modulului de chat cu un API real (OpenAI/Anthropic/Ollama), integrare cu Tag Manager pentru context pe proiect, interfață node-based (infinite canvas) pentru generatoare media, și un nod avansat de interpretare 3D a imaginilor 2D (tip viewport interactiv).
|
||||
- Documentat cerințe noi pentru Storage & Arhitectură (Prioritate 0): devansarea migrării de la `localStorage` la o soluție robustă (MinIO pentru fișiere + PostgreSQL/Prisma pentru date) pentru a asigura persistența, securitatea și partajarea datelor între toți utilizatorii.
|
||||
|
||||
### Notes
|
||||
|
||||
- No code changes made. Only documentation updated.
|
||||
- Faza 3 (Ideation & Requirements) este complet documentată. Urmează planificarea concretă a execuției.
|
||||
|
||||
---
|
||||
|
||||
## Session — 2026-02-19 (GitHub Copilot - Claude Sonnet 4.6) [continued 2]
|
||||
|
||||
### Completed
|
||||
|
||||
Reference in New Issue
Block a user