feat(telegram): bot bonuri fiscale — OCR → preview → Oracle write
- 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>
This commit is contained in:
104
tasks/prd-roa2web-telegram-bonuri.md
Normal file
104
tasks/prd-roa2web-telegram-bonuri.md
Normal file
@@ -0,0 +1,104 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user