didi-lot3-frontend/artefacte/README_LIVRARE.md
Dezvoltari Evotech d289ff12e6 Livrare Lot 3 platforma DiDi - furnizor Evotech IT
Curatenie referinte pre-livrare:
- inlocuit IP intern 10.11.10.18 cu hostname didi.integrare.local (extensie, docker-compose, .env.example)
- inlocuit domeniu vechi didi365.eu cu didi.integrare.local (scripturi build/audit)
- redenumit identificatorul aplicatiei Android eu.didi365.mobile -> didi.mobile

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 03:01:23 -07:00

3.4 KiB

DiDi Lot 3 (Frontend) — Pachet de livrare

PNRR DIGI150 · contract 11.1.i3.c9 · Contract de furnizare nr. 19 · 17.07.2026

Conținut

Fișier Descriere
didi-frontend-web_lot3-1.0.docker.tar.gz Imaginea Docker a aplicației web (nginx + SPA build)
didi-app-clossers.apk Aplicația mobilă Android (release, semnată cu cheie de test)
didi-extension-clossers-v3.2.6.zip Extensia de browser Chrome/Edge (Manifest V3)

Codul sursă complet: repo didi-lot3-frontend/ (subfoldere web/, android/didi-app-source/, extension/) + documentația de livrare în docs/ (ghid de utilizare 05, matrice de trasabilitate 06, raport de testare furnizor 07).

Configurarea adresei platformei (per componentă)

Sursele NU conțin adrese hardcodate — adresa serverului DiDi se setează exclusiv în punctele de configurare de mai jos.

1. Aplicația web — la build (build args)

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 → Kong și /auth → Keycloak, prin rețeaua Docker didi-network). nginx-ul răspunde pe orice hostname (server_name _).

Rulare (pe serverul platformei): docker load < didi-frontend-web_lot3-1.0.docker.tar.gz apoi docker compose -f docker-compose.local.yml up -d (compose-ul e în rădăcina repo-ului).

2. Aplicația mobilă — la build (.env)

Fișierul android/didi-app-source/.env (model în .env.example):

EXPO_PUBLIC_DIDI_BASE_URL=http://<ADRESA>

Rebuild: cd android/didi-app-source/android && ./gradlew assembleRelease (toolchain-ul și pașii compleți sunt în HANDOFF_Lot3_Rebrand_Integrare.md). APK-ul livrat este construit cu adresa mediului de integrare.

3. Extensia de browser — fișierul config.js

Singurul loc cu adresa: extension/config.jsDIDI_HOST_HTTP / DIDI_HOST_HTTPS. După modificare: reîncarcă extensia din chrome://extensions. Pe un mediu cu certificat TLS valid, ambele valori se setează pe https://… (separarea HTTP/HTTPS există doar pentru mediul LAN cu certificat autosemnat).

Instalare rapidă componente client

  • Extensie: dezarhivează zip-ul → chrome://extensions → Developer mode → Load unpacked → folderul dezarhivat → butonul „Autentificare" (cont DiDi, fără chei API).
  • APK: transfer pe telefon → instalare din surse necunoscute → Sign In cu contul DiDi. Dispozitivul trebuie să aibă acces de rețea la adresa platformei.

Observații

  • APK-ul e semnat cu cheie de test — pentru publicare în Google Play se generează un keystore de release. Identificatorul aplicației este didi.mobile; la publicarea în store poate fi schimbat, dar orice modificare ulterioară creează o aplicație nouă (reinstalare obligatorie pentru utilizatori).
  • Extensia are ID stabil (blcalchooinkphpnlkkhlklbmgppmnfm, fixat prin cheia din manifest); pe acest ID este configurat clientul OIDC didi-extension în Keycloak (realm didi-clients, redirect https://<id>.chromiumapp.org/*). La schimbarea mediului, clientul Keycloak se recreează identic pe noul realm/server.
  • Fișierele istorice scoase din repo la curățenia din 17.07.2026 sunt păstrate în ~/didi-lot3-frontend-arhiva/.

Sume de control (SHA-256)

Vezi SHA256SUMS.txt din acest folder.