Claude Agent 3a10cc69c0 docs(readme): README orientat pe scop — învățare + hedge VFP, nu produs
Pagina repo-ului arăta README-ul generic roa2web și nu explica ce e
diferit / ce se urmărea. README-ul nou pune scopul pe prima pagină:
prototip de probă „web (Python/Vue) conduce business logic Oracle prin
PL/SQL", driver-ul de risc-talent VFP, cele 6 ipoteze, scope wall,
relația cu roa2web, stare WIP.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 11:45:39 +00:00
2026-02-24 10:09:19 +00:00
2025-12-22 01:01:58 +02:00
2026-01-07 10:02:37 +00:00
2026-01-07 10:02:37 +00:00

roa2web-service-auto

Prototip de învățare + hedge de risc de talent. NU un produs, NU un MVP, NU un angajament de livrare către clienți.

Acest repo explorează o singură întrebare strategică:

Poate stack-ul web (Python / FastAPI async / Vue 3 / PrimeVue) să conducă logica de business Oracle end-to-end prin proceduri PL/SQL — păstrând PL/SQL ca strat durabil?

Domeniul ales pentru probă: gestiune comenzi service auto (atelier reparații auto) — cel mai sigur teren de testare, pe o schemă Oracle dedicată de test (MARIUSM_AUTO), fără nicio atingere a producției.

De ce există (driver-ul strategic)

Visual FoxPro (VFP) e o limbă moartă. ERP-ul care alimentează 4 clienți de lungă durată e scris în VFP + Oracle, iar nu se mai pot angaja programatori dispuși să învețe VFP → risc de talent care se acumulează an de an.

Migrarea la Postgres nu e 1:1 (25 de ani de PL/SQL, sinonime cross-schema, arhitectură tenant-per-schemă). Deci calea realistă de hedge este:

Rămâi pe Oracle, mută stratul de UI + business logic pe Python/Vue, păstrează PL/SQL ca strat durabil.

Service auto e locul cu cel mai mic risc unde se poate proba dacă această cale funcționează. Hedge-ul rezolvă jumătatea de stack unde există forță de muncă (Python+Vue+integrare), NU problema angajării de specialiști PL/SQL.

Ce probează concret (învățarea reală)

Prototipul confirmă sau infirmă 6 ipoteze. Dacă oricare eșuează cu un răspuns clar, prototipul s-a încheiat cu succes — learning obținut, decizie clară, zero cod irosit.

# Ipoteză Status / referință
1 python-oracledb async apelează curat PL/SQL cu params IN+OUT poc/, week1-notes.md
2 session_callback pentru CURRENT_SCHEMA nu leak-uiește între requests concurente week5-session-callback.md
3 Grants „EXECUTE pe SP, zero acces direct la tabele" țin în practică grants-audit.md, week3-auth-audit.md
4 RAISE_APPLICATION_ERROR cu diacritice ajunge în Vue ca eroare user-friendly (encoding corect) mapare ORA→HTTP în backend/modules/service_auto/
5 DX (FastAPI hot-reload + Vite + SSH tunnel Oracle) e acceptabil pt side-work 2-4h/săpt week1-notes.md
6 Auth-ul multi-server existent suportă un server nou fără modificări la shared code week3-auth-audit.md

Livrabilul real NU e ecranul de comandă — e un template reutilizabil pentru module Oracle (docs/service-auto/template-modul-oracle.md) + un decision log (docs/service-auto/decision-log.md). Dacă dovezile sunt pozitive, același pattern se aplică modulului următor.

Ce e în scope vs NU

În scope (prototip): 1 ecran (ComandaNoua.vue) → 1 SP de scriere → insert într-un tabel dedicat de comenzi pe MARIUSM_AUTO → return ID + număr → Toast.

NU în scope (zid de scop explicit): cei 4 clienți existenți (rămân pe VFP, zero atingere), migrare scheme, eFactura/ANAF, insert în ACT (registrul jurnal — doar la facturare), facturare, mobile/responsive, e2e Playwright, multi-tenant complet. Detalii în docs/service-auto/claude-main-design-20260411-rethink.md (secțiunea „Scope wall").

Relația cu roa2web

Acest repo e un fork complet din romfast/roa2web (strămoș comun: commit b0f4800). Conține tot codul comun roa2web (auth/JWT, pool Oracle multi-tenant, shell-ul Vue SPA, design tokens, AsyncAutoComplete) PLUS modulul service-auto, deci rulează standalone. Fix-urile se pot face cherry-pick în ambele sensuri.

Detalii de proveniență: PROVENANCE.md.

Cod specific service-auto

Zonă Cale
Backend backend/modules/service_auto/ (router / service / schemas / tests)
Frontend src/modules/service-auto/ + src/shared/components/AsyncAutoComplete.vue
Oracle (pack-uri, DDL, migrări) docs/service-auto/ (pack_auto.pck, pack_sesiune.pck, migrations/)
POC-uri poc/
Design, decizii, learnings docs/service-auto/

⚠️ Stare curentă

WIP. Ultimul commit de dezvoltare moștenit era „modificari in curs nu stiu care este faza" (2026-06-05) — proiectul nu era la un checkpoint curat când a fost desprins din roa2web (2026-06-13). Înainte de orice reluare: citește docs/service-auto/decision-log.md și notele săptămânale (week*-notes.md) ca să reconstruiești faza.

Teste auto-raportate la desprindere: 62 passed / 3 skipped (dependente de Oracle live).

Setup

Bază de cod identică cu roa2web — vezi instrucțiunile de pornire din scripturile start.sh / start-backend.sh / start-frontend.sh și docs/. Necesită acces la serverul Oracle de test (MARIUSM_AUTO) prin user-ul tehnic ROA_WEB.

Description
No description provided
Readme 22 MiB
Languages
Python 49.3%
Vue 31.3%
JavaScript 6.1%
PowerShell 5.3%
CSS 4.1%
Other 3.8%