didi-lot3-frontend/README.md
Top Clossers cec967f953 Livrare Lot 3 (Frontend): aplicație web, aplicație mobilă Android, extensie browser
- Surse complete web (React/Vite) + mobil (React Native/Expo) + extensie (MV3)
- Documentație de livrare: ghid utilizare, matrice trasabilitate cerințe, raport testare furnizor
- Artefacte binare: imagine Docker didi-frontend:lot3-1.0, APK, extensie v3.2.6 + SHA256SUMS
- Configurare adresă platformă externalizată (build args / .env / config.js)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 12:40:40 +03:00

2.8 KiB

DiDi — Lot 3 (Frontend) · Livrare

Platformă digitală inteligentă pentru prevenirea și combaterea dezinformării — DiDi PNRR DIGI150 · Contract de finanțare 11.1.i3.c9 · Contract de furnizare nr. 19

Componentele frontend ale platformei DiDi: aplicație web, aplicație mobilă (Android) și extensie de browser (Chrome/Edge, Manifest V3), integrate cu backend-ul platformei (Lot 1 — AI, Lot 2 — Backend) prin API Gateway (Kong) și IAM (Keycloak, OIDC/OAuth2 + PKCE).

Structura repo-ului

Cale Conținut
web/ Aplicația web — React 18 + Vite + TypeScript (SPA), imagine nginx
android/didi-app-source/ Aplicația mobilă — React Native + Expo SDK 54 (include proiectul nativ android/ cu patch-urile de manifest)
extension/ Extensia de browser — MV3, vanilla JS
docs/ Documentația de livrare: 05 Ghid de utilizare · 06 Matrice de trasabilitate a cerințelor · 07 Raport de testare furnizor (md + docx, cu capturi încorporate)
artefacte/ Livrabile binare: imagine Docker (tar.gz), APK, extensie (zip), SHA256SUMS.txt, README_LIVRARE.md
docker-compose.local.yml Deployment-ul aplicației web pe serverul platformei
build.sh, TESTING.md Utilitare de build / note de testare

Configurarea adresei platformei

Sursele nu conțin adrese hardcodate. Adresa serverului DiDi se setează per componentă:

  1. Web — la build: docker build --build-arg VITE_API_URL= --build-arg VITE_KEYCLOAK_URL=https://<ADRESA>/auth -t didi-frontend:local ./web (VITE_API_URL gol = same-origin; nginx-ul din imagine proxează /api, /agent-v3, /auth)
  2. Mobilandroid/didi-app-source/.env: EXPO_PUBLIC_DIDI_BASE_URL=http://<ADRESA> (model în .env.example; fișierul .env nu se versionează)
  3. Extensieextension/config.js (DIDI_HOST_HTTP / DIDI_HOST_HTTPS)

Detalii complete de instalare/instanțiere: artefacte/README_LIVRARE.md.

Build rapid

# Web (imagine Docker)
docker build --build-arg VITE_API_URL= --build-arg VITE_KEYCLOAK_URL=https://<ADRESA>/auth \
  -t didi-frontend:local ./web
docker compose -f docker-compose.local.yml up -d

# Mobil (APK release; necesită JDK 17 + Android SDK — vezi docs)
cd android/didi-app-source && cp .env.example .env  # completează adresa
cd android && ./gradlew assembleRelease

# Extensie: chrome://extensions → Developer mode → Load unpacked → folderul extension/

Autentificare

Toate cele 3 componente folosesc contul unic al platformei (Keycloak, realm didi-clients): clienți OIDC didi-web-app, didi-mobile-app, didi-extension (public, PKCE S256). Extensia are ID stabil blcalchooinkphpnlkkhlklbmgppmnfm (cheie în manifest) — pe el este înregistrat redirect-ul OIDC https://<id>.chromiumapp.org/*.


Livrare Lot 3 · 17.07.2026