# PRD: Roa2Web Telegram Bonuri

## 1. Introducere

Completează fluxul bonuri fiscale în roa2web: handler Telegram pentru PDF/JPG (document + photo), OCR via serviciul existent, preview cu confirm/cancel, salvare în Oracle ACT_TEMP via PACK_CONTAFIN (logica din scripts/whatsapp_import/process_v2.

**Data:** 2026-05-05
**Status:** Draft
**Mode:** FEATURE

## 2. Context Tehnic

**Proiect existent detectat:**
- Stack: nodejs
- Config: package.json
- Scripts: dev, build, preview, serve, lint, format, test:e2e, test:e2e:headed, test:e2e:debug, test:e2e:report, test:e2e:ui

## 3. Obiective

### Obiectiv Principal
Completează fluxul bonuri fiscale în roa2web: handler Telegram pentru PDF/JPG (document + photo), OCR via serviciul existent, preview cu confirm/cancel, salvare în Oracle ACT_TEMP via PACK_CONTAFIN (logica din scripts/whatsapp_import/process_v2

### Obiective Secundare
- Completează fluxul bonuri fiscale în roa2web: handler Telegram pentru PDF/JPG (document + photo), OCR via serviciul existent, preview cu confirm/cancel, salvare în Oracle ACT_TEMP via PACK_CONTAFIN (logica din scripts/whatsapp_import/process_v2

### Metrici de Succes
- Toate funcționalitățile implementate conform spec
- Tests passing (coverage > 80%)
- Code quality: lint + typecheck pass

## 4. User Stories

### US-001: Completează fluxul bonuri fiscale în roa2web: handler Telegram pentru PDF/JPG (document + photo), OCR via serviciul existent, preview cu confirm/cancel, salvare în Oracle ACT_TEMP via PACK_CONTAFIN (logica din scripts/whatsapp_import/process_v2
**Ca** utilizator
**Vreau** completează fluxul bonuri fiscale în roa2web: handler telegram pentru pdf/jpg (document + photo), ocr via serviciul existent, preview cu confirm/cancel, salvare în oracle act_temp via pack_contafin (logica din scripts/whatsapp_import/process_v2
**Pentru că** pot folosi aplicația eficient

**Acceptance Criteria:**
- [ ] Funcționalitatea implementată conform descrierii
- [ ] Input validation în loc
- [ ] Error handling pentru cazuri edge
- [ ] Tests cu jest (coverage > 80%)
- [ ] Code quality: lint + typecheck pass

**Priority:** 10

### US-002: Tests și Documentație
**Ca** developer
**Vreau** teste comprehensive și documentație
**Pentru că** asigur calitatea codului

**Acceptance Criteria:**
- [ ] Unit tests pentru toate funcțiile (coverage > 80%)
- [ ] Integration tests pentru flow-uri principale
- [ ] README cu instrucțiuni de utilizare
- [ ] Docstrings pentru funcții publice
- [ ] jest rulează fără erori

**Priority:** 20

## 5. Cerințe Funcționale

1. [REQ-001] Completează fluxul bonuri fiscale în roa2web: handler Telegram pentru PDF/JPG (document + photo), OCR via serviciul existent, preview cu confirm/cancel, salvare în Oracle ACT_TEMP via PACK_CONTAFIN (logica din scripts/whatsapp_import/process_v2.py). Credențiale write user (MARIUSM_AUTO) din env. Branch: feature/telegram-bonuri-fiscale în roa2web.

## 6. Non-Goals (Ce NU facem)

- Interfață grafică (GUI) - doar CLI/API
- Suport multiple limbaje - doar Node.js / TypeScript
- Deployment infrastructure - doar cod functional

## 7. Considerații Tehnice

### Stack/Tehnologii
- Limbaj: Node.js / TypeScript
- Testing: jest
- Linting: pylint / eslint (depinde de stack)
- Type checking: mypy / typescript

### Patterns de Urmat
- Clean code principles
- SOLID principles unde aplicabil
- Error handling consistent
- Input validation strict

### Riscuri Tehnice
- Edge cases la input validation
- Performance pentru volume mari de date (dacă aplicabil)

## 8. Considerații Security

- Input validation pentru toate datele externe
- Error messages fără info sensibilă
- Principle of least privilege

## 9. Open Questions

- [ ] Performance requirements specifice?
- [ ] Limite pe input sizes?
- [ ] Specific error handling patterns preferați?

---

**Generated by:** Echo (Ralph PRD Generator)
**Date:** 2026-05-05 23:00
