Files
roa2web-service-auto/tasks/prd-roa2web-telegram-bonuri.md
Marius Mutu e257fa5d5f 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>
2026-06-05 09:26:58 +00:00

3.8 KiB

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