- US-001: mută queue_client.py în data_entry/services/ocr/ - US-002/003/004: oracle_receipt_writer + oracle_server_id în DB - US-005: receipt_handlers.py (PDF/photo/callback flow) - US-006: wire handlers în main.py, per-schema connect, seq_cod.nextval - US-007: .gitignore secrets/*.oracle_pass - US-008/009/010: teste unit + integration + E2E - setup-secrets.sh helper + template - docs/telegram/README.md actualizat cu arhitectura nouă Testat E2E pe DB live (MARIUSM_AUTO). COD din seq_cod.nextval. pypdfium2 fallback pentru PDF decode (fără poppler). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
105 lines
3.8 KiB
Markdown
105 lines
3.8 KiB
Markdown
# 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
|