17 KiB
17 KiB
ArchiTools — Session Log
Newest sessions first. Each AI session appends an entry at the top.
Session — 2026-02-27 (GitHub Copilot - Gemini 3.1 Pro)
Completed
-
Etapa 2: Autentificare (Authentik / Active Directory)
- Instalat
next-authpentru 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
AuthProviderpentru a folosiSessionProviderdinnext-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).
- Instalat
-
Etapa 1: Fundația (Baza de date & Storage)
- Instalat și configurat Prisma ORM (v6) pentru conectarea la PostgreSQL.
- Creat schema de bază de date
KeyValueStorepentru a înlocuilocalStoragecu o soluție persistentă și partajată. - Rulat prima migrare (
npx prisma db push) pe serverul de producție (10.10.10.166:5432). - Creat
DatabaseStorageAdaptercare implementează interfațaStorageServiceș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
toolspe portul9002). - Actualizat
StorageProviderpentru a folosi automat baza de date cândNEXT_PUBLIC_STORAGE_ADAPTER="database". - Verificat build-ul aplicației (
npx next builda 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.mdto 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.txtde 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
localStoragela 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.
- Added a new Phase 3 in
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
-
Task 1.12: Registratura — Linked-Entry Selector Search ✅
- Added search input (by number, subject, sender) to
registry-entry-form.tsx - Removed
.slice(0, 20)cap — all entries now searchable - Chip labels now show truncated subject alongside entry number
- Commit:
cd4b0de
- Added search input (by number, subject, sender) to
-
Task 1.13: Word XML — Remove POT/CUT Auto-Calculation ✅
- Removed
computeMetricsfromXmlGeneratorConfigtype,generateCategoryXml,generateAllCategories,downloadZipAll,useXmlConfig,XmlSettings,WordXmlModule - Removed POT/CUT auto-injection logic entirely; fields can still be added manually
- Removed unused
Switchimport fromxml-settings.tsx - Commit:
eaca24a
- Removed
Notes
- Phase 1 (13 tasks) now fully complete ✅
- Next: Phase 2 — Hot Desk module (new module from scratch)
Completed
- Task 1.11: Dashboard — Activity Feed + KPI Panels ✅
- Created
src/modules/dashboard/hooks/use-dashboard-data.ts - Scans all
architools:*localStorage keys directly (no per-module hooks needed) - Activity feed: last 20 items sorted by
updatedAt, detects creat/actualizat, picks best label field - KPI grid: registratura this week, open dosare, deadlines this week, overdue (red if >0), new contacts this month, active IT equipment
- Replaced static Quick Stats with live KPI panels in
src/app/page.tsx - Relative timestamps in Romanian via
Intl.RelativeTimeFormat - Build passes zero errors
- Created
Commits
- (this session) feat(dashboard): activity feed and KPI panels
Notes
- Build verified:
npx next build→ ✓ Compiled successfully - Next task: 1.12 — Registratura linked-entry selector fix
Session — 2026-02-19 (GitHub Copilot - Claude Sonnet 4.6)
Completed
-
Task 1.09: Address Book — vCard Export + Registratura Reverse Lookup ✅
- Created
src/modules/address-book/services/vcard-export.ts— generates vCard 3.0 with all contact fields - Download icon button on card hover → triggers
.vcffile download - FileText icon button → opens
ContactDetailDialogwith full info + Registratura table - Registratura reverse lookup uses
allEntries(bypasses active filters) - Build passes zero errors
- Created
-
Task 1.10: Word Templates — Placeholder Auto-Detection ✅
- Created
src/modules/word-templates/services/placeholder-parser.ts - Reads
.docx(ZIP) via JSZip, scans allword/*.xmlfiles for{{placeholder}}patterns - Handles Word’s split-run encoding by checking both raw XML and tag-stripped text
- Form: “Alege fișier .docx” button (local file picker, CORS-free) auto-populates placeholders field
- Form: Wand icon next to URL field tries URL-based fetch detection
- Spinner during parsing, error message if detection fails
- Build passes zero errors
- Created
Commits
da33dc9feat(address-book): vCard export and Registratura reverse lookup67fd888docs: mark task 1.09 complete- (this session) feat(word-templates): placeholder auto-detection from .docx via JSZip
Notes
- Build verified:
npx next build→ ✓ Compiled successfully - Next task: 1.11 — Dashboard Activity Feed + KPI Panels
Session — 2026-02-19 (GitHub Copilot - Claude Sonnet 4.6) [earlier]
Completed
- Task 1.09: Address Book — vCard Export + Registratura Reverse Lookup ✅
- Created
src/modules/address-book/services/vcard-export.ts— generates vCard 3.0 (.vcf) with all contact fields - Added Download icon button on contact card hover → triggers
.vcffile download - Added FileText (detail) icon button → opens
ContactDetailDialog ContactDetailDialogshows full contact info, contact persons, notes, and scrollable Registratura table- Registratura reverse lookup uses
allEntries(bypasses active filters) and matchessenderContactIdorrecipientContactId - Build passes zero errors
- Created
Commits
da33dc9feat(address-book): vCard export and Registratura reverse lookup
Notes
- Build verified:
npx next build→ ✓ Compiled successfully - Push pending — see below
- Next task: 1.10 — Word Templates Placeholder Auto-Detection
Session — 2026-02-19 (GitHub Copilot - Haiku 4.5)
Completed
-
Task 1.07: Password Vault — Company Scope + Strength Meter ✅
- Added
company: CompanyIdfield to VaultEntry type - Implemented password strength indicator (4 levels: weak/medium/strong/very strong) with visual progress bar
- Strength calculation based on length + character diversity (uppercase/lowercase/digits/symbols)
- Updated form with company selector dropdown (Beletage/Urban Switch/Studii de Teren/Grup)
- Meter updates live as password is typed
- Build passes zero errors
- Added
-
Task 1.08: IT Inventory — Link assignedTo to Address Book ✅
- Added
assignedToContactId?: stringfield to InventoryItem type - Implemented contact autocomplete in assignment field (searches Address Book)
- Shows up to 5 matching contacts with name and company
- Clicking a contact fills both display name and ID reference
- Search filters by contact name and company
- Placeholder text "Caută după nume..." guides users
- Build passes zero errors
- Added
Commits
b96b004feat(password-vault): add company scope and password strength metera49dbb2feat(it-inventory): link assignedTo to Address Book contacts with autocomplete
Notes
- Build verified:
npx next build→ ✓ Compiled successfully - Push completed: Changes deployed to main via Gitea webhook → Portainer auto-redeploy triggering
- Ready to test on production: http://10.10.10.166:3000/password-vault and http://10.10.10.166:3000/it-inventory
Session — 2026-02-18 (GitHub Copilot - Haiku 4.5)
Completed
- Task 1.01: Email Signature Logo Files ✅
- Verified all 4 logo files exist with valid SVG content: logo-us-dark.svg, logo-us-light.svg, logo-sdt-dark.svg, logo-sdt-light.svg
- No action needed — logos are already present and valid
- Task 1.02: Email Signature Address Toggle for US/SDT ✅
- Added address toggle UI for Urban Switch and Studii de Teren companies (like Beletage already has)
- Created US_ADDRESSES and SDT_ADDRESSES constants in
company-branding.ts - Updated
signature-configurator.tsxto show address selector for US and SDT - Both companies currently configured with Str. Unirii address; user can update when confirmed
- Build passes zero errors
Commits
1db61d8feat(email-signature): add address toggles for Urban Switch and Studii de Teren
Notes
- Full npm install and build verification completed
- Ready to move to task 1.03 (Prompt Generator architecture templates) after user approval
- Set up git with AI Assistant user for commits
Session — 2026-02-18 (Claude Opus 4.6)
Completed
- Registratura Legal Deadline Tracking — Full implementation:
- 9 new files: working-days.ts (Romanian holidays + Orthodox Easter), deadline-catalog.ts (16 deadline types), deadline-service.ts, use-deadline-filters.ts, deadline-card.tsx, deadline-add-dialog.tsx, deadline-resolve-dialog.tsx, deadline-table.tsx, deadline-dashboard.tsx
- 6 modified files: types.ts, use-registry.ts, registratura-module.tsx (tabbed), registry-entry-form.tsx (inline deadlines), registry-table.tsx (clock badge), index.ts
- Features: calendar/working days, backward deadlines, chain deadlines, tacit approval, color-coded status
- CLAUDE.md — Created with full project context, architecture, conventions, model recommendations
- ROADMAP.md — Created with 9 phases, 35+ tasks from xlsx gap analysis, multi-provider model table
- SESSION-GUIDE.md — Created with start/resume prompts, git workflow, file update rules
Commits
bb01268feat(registratura): add legal deadline tracking system (Termene Legale)d6a5852docs: add ROADMAP.md with detailed future task planb1df15bdocs: rewrite ROADMAP.md with complete xlsx gap analysis + multi-model recommendations- (this session) docs: add SESSION-GUIDE.md + SESSION-LOG.md
Notes
- Build passes with zero errors
- Dev server on localhost:3000 shows tabs correctly
- Production at 10.10.10.166:3000 requires Portainer redeploy after push
- The
app_modules_overview.xlsxis in the repo root but not committed (it's a reference file) - No tasks from ROADMAP.md Phase 1+ have been started yet — next session should begin with task 1.01
Completed
- Registratura Legal Deadline Tracking — Full implementation:
- 9 new files: working-days.ts (Romanian holidays + Orthodox Easter), deadline-catalog.ts (16 deadline types), deadline-service.ts, use-deadline-filters.ts, deadline-card.tsx, deadline-add-dialog.tsx, deadline-resolve-dialog.tsx, deadline-table.tsx, deadline-dashboard.tsx
- 6 modified files: types.ts, use-registry.ts, registratura-module.tsx (tabbed), registry-entry-form.tsx (inline deadlines), registry-table.tsx (clock badge), index.ts
- Features: calendar/working days, backward deadlines, chain deadlines, tacit approval, color-coded status
- CLAUDE.md — Created with full project context, architecture, conventions, model recommendations
- ROADMAP.md — Created with 9 phases, 35+ tasks from xlsx gap analysis, multi-provider model table
- SESSION-GUIDE.md — Created with start/resume prompts, git workflow, file update rules
Commits
bb01268feat(registratura): add legal deadline tracking system (Termene Legale)d6a5852docs: add ROADMAP.md with detailed future task planb1df15bdocs: rewrite ROADMAP.md with complete xlsx gap analysis + multi-model recommendations- (this session) docs: add SESSION-GUIDE.md + SESSION-LOG.md
Notes
- Build passes with zero errors
- Dev server on localhost:3000 shows tabs correctly
- Production at 10.10.10.166:3000 requires Portainer redeploy after push
- The
app_modules_overview.xlsxis in the repo root but not committed (it's a reference file) - No tasks from ROADMAP.md Phase 1+ have been started yet — next session should begin with task 1.01