didi-lot2-backend/backend
EVOTECH IT SRL 7e4f23d4c4 Optimizare scripturi build/CI si functionalitati noi Lot 2
- CI/CD GitLab (.gitlab-ci.yml): verify -> test -> build -> publish ->
  deploy cu health-gate (/api/v3/health/all) + rollback manual
- Publicare pe retele sociale (LinkedIn/Facebook) din Analysis History
  (social.ts, linkedin.ts, facebook.ts, SocialPostModal)
- Specificatii OpenAPI: agent-v3 (87 op.) si didi-framework (287 op.)
- Matrice testare acceptanta beneficiar + script dovezi API
- Fix nginx SSL: redirect port 3001 (error_page 497, absolute_redirect off)
- Adrese interne inlocuite cu hostname-uri generice (.local)
2026-07-12 13:36:08 -07:00
..
admin-dashboard Optimizare scripturi build/CI si functionalitati noi Lot 2 2026-07-12 13:36:08 -07:00
docs livrare lot 2 2026-07-10 03:39:53 -07:00
observability Optimizare scripturi build/CI si functionalitati noi Lot 2 2026-07-12 13:36:08 -07:00
production Optimizare scripturi build/CI si functionalitati noi Lot 2 2026-07-12 13:36:08 -07:00
scripts Optimizare scripturi build/CI si functionalitati noi Lot 2 2026-07-12 13:36:08 -07:00
services Optimizare scripturi build/CI si functionalitati noi Lot 2 2026-07-12 13:36:08 -07:00
teste livrare livrare lot 2 2026-07-10 03:39:53 -07:00
.gitignore livrare lot 2 2026-07-10 03:39:53 -07:00
.gitlab-ci.yml Optimizare scripturi build/CI si functionalitati noi Lot 2 2026-07-12 13:36:08 -07:00
BUILD_AND_SCRIPTS.md livrare lot 2 2026-07-10 03:39:53 -07:00
CLAUDE.md livrare lot 2 2026-07-10 03:39:53 -07:00
DEPLOY_FROM_SCRATCH.md livrare lot 2 2026-07-10 03:39:53 -07:00
README.md livrare lot 2 2026-07-10 03:39:53 -07:00
REFACTOR_CONTEXT.md livrare lot 2 2026-07-10 03:39:53 -07:00

DIDI Backend

Misinformation detection backend — TypeScript/Node.js microservices.

Services

Service Description Port Container
Agent V3 Analysis engine — 4 detection components + verdict 24803 didi-agent-v3
didiFramework Parameters CRUD API, user management, Redis sync 3005 didi-framework
Admin Dashboard React admin UI (services, config, history, users) 3000 didi-admin
Kong API Gateway (SSL, routing, rate limiting) 443 kong
Keycloak Authentication (OAuth2/OIDC, JWT) 28000 keycloak
Redis Cache (framework config, session state) 6379 didi-cache
RabbitMQ Queue (async analysis, 24 component queues) 5672 rabbitmq
MinIO Object storage (media files, per-user buckets) 9000 minio
PostgreSQL External cluster (Patroni/HAProxy) 5000

Quick Start

# 1. Start data layer
cd services/data-layer && docker compose up -d

# 2. Start agent-v3 + workers
cd services/orchestration-layer/agent-v3 && docker compose up -d --build

# 3. Start framework
cd services/orchestration-layer/didiFramework && docker compose up -d --build

# 4. Sync parameters
docker exec didi-framework sh -c 'wget -qO- --post-data="" http://127.0.0.1:3005/api/sync-redis'

# 5. Test
curl http://localhost:24803/api/v3/health

Structure

backend/
├── admin-dashboard/          # React 19, MUI 7 — admin UI
├── production/               # Production docker-compose + .env
└── services/
    ├── data-layer/           # Redis, RabbitMQ, MinIO, local PG
    ├── gateway-auth-layer/   # Kong + Keycloak
    └── orchestration-layer/
        ├── agent-v3/         # Analysis engine (TypeScript, Express 5)
        └── didiFramework/    # Parameters API (TypeScript, Express 4)

Each service has its own INDEX.md with detailed documentation.

Analysis Pipeline

Input (text/image/audio/video/URL)
  │
  ├─ Worker: media-preprocess (extract text from media)
  │
  ├─ Worker: techniques     → manipulation_score (0-100)
  ├─ Worker: ai-tampered    → ai_probability (0-100)
  ├─ Worker: claims         → credibility_score (0-100)
  ├─ Worker: domain         → trust_score (0-100)
  │
  └─ Aggregator: verdict    → risk_score (0-100) + explanation (RO+EN)

All analysis endpoints are async: dispatch to RabbitMQ → return 202 → poll for results.

Rebuild Commands

# Agent V3
cd services/orchestration-layer/agent-v3
docker compose up -d --build agent-v3

# Framework
cd services/orchestration-layer/didiFramework
docker compose up -d --build didi-framework

# Admin Dashboard
cd admin-dashboard
docker build -t didi-admin:latest .
cd ../services/data-layer && docker compose up -d --force-recreate didi-admin

Credentials (Staging)

Service User Password
PostgreSQL (cluster) bos_interface interface
Redis redis123
RabbitMQ admin rabbitmq123
MinIO minioadmin minio123
Keycloak admin@didi.local admin123