- 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>
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ă:
- 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) - Mobil —
android/didi-app-source/.env:EXPO_PUBLIC_DIDI_BASE_URL=http://<ADRESA>(model în.env.example; fișierul.envnu se versionează) - Extensie —
extension/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