Project

General

Profile

Actions

Feature #63

closed
RA

Feature #21: Enhance Matching Results and AI Assistant with Company Enrichment and Market Insights

[GetYourJob API] Market-insights proxy route to MatchingAgent

Feature #63: [GetYourJob API] Market-insights proxy route to MatchingAgent

Added by Redmine Admin about 2 months ago. Updated about 2 months ago.

Status:
Shipped
Priority:
Normal
Assignee:
-
Start date:
06/11/2026
Due date:
% Done:

0%

Estimated time:
spec_ref:
build_status:
build_number:
ci_run_url:
scan_status:
scan_report_url:
deploy_status:
preprod_url:
https://github.com/omdev-tech/GetYourJob/pull/240
deployed_at:
branch:
feat/redmine-21-insights-ui
pr_url:
https://github.com/omdev-tech/GetYourJob/pull/239
security_key:
severity:
paused:

Description

**Surface:** GetYourJob API routes (`GetYourJob/src/app/api/`) + infrastructure adapter (`GetYourJob/src/infrastructure/`).

## Description
Expose the MatchingAgent market-insights aggregates (#2) to the GetYourJob frontend via a Next.js API route, so the Market Insights UI (#5) and the assistant (#6) can consume them without calling MA directly.

- New API route (e.g. `GET/POST /api/market-insights`) that authenticates the session, forwards role/filter params to MatchingAgent (`MATCHING_AGENT_URL`), and returns the aggregate.
- Reuse the existing MatchingAgent adapter pattern (`MatchingAgentAdapter`).
- Cache results (Redis with in-memory fallback) keyed by role/filters to absorb the 100+ batch case.

Depends on #2. Blocks #5 and #6.

## Acceptance criteria
- [ ] `/api/market-insights` returns MatchingAgent aggregates for an authenticated session.
- [ ] Role/filter params are forwarded; unauthenticated requests are rejected.
- [ ] Responses are cached (Redis + in-memory fallback) keyed by role/filters.
- [ ] Adapter/route covered by a test (success + MA-unavailable fallback).

**Estimate:** S

RA Updated by Redmine Admin about 2 months ago Actions #1

  • Status changed from Submitted to In development

Drag Submitted → In development. ⚠️ Plus de proxy MatchingAgent : #61 ayant été re-homé côté GYJ (MA n'a pas le corpus d'offres), il n'y a pas de service MA distant à proxifier. #63 est FUSIONNÉ dans l'endpoint GYJ market-insights livré avec #61. Sera livré dans la même PR que #61.

RA Updated by Redmine Admin about 2 months ago Actions #2

  • branch set to feat/redmine-21-insights-ui
  • pr_url set to https://github.com/omdev-tech/GetYourJob/pull/239

🏁 done dev — ready for QA (reste In development).

#63 livré DANS la même PR que #61 : plus de proxy MatchingAgent (MA n'a pas le corpus d'offres), l'endpoint market-insights est entièrement côté GetYourJob (`GET /api/market-insights`), avec auth de session + cache (Redis + fallback mémoire) keyé par role/location. La partie « exposer l'agrégat au front avec auth + cache » de #63 est donc satisfaite par cet endpoint unique.

PR : https://github.com/omdev-tech/GetYourJob/pull/239 (base `dev`). CI Jenkins verte.

RA Updated by Redmine Admin about 2 months ago Actions #3

  • Status changed from In development to Preprod
  • preprod_url set to https://github.com/omdev-tech/GetYourJob/pull/240

Fusionné dans l'endpoint GYJ market-insights (#61) — pas de proxy MA distinct (MA n'a pas le corpus). Livré dans l'épopée #21 (PR #239). Promu vers preprod (PR #240).

RA Updated by Redmine Admin about 2 months ago Actions #4

  • Status changed from Preprod to Shipped

Livré en production avec l'épopée #21 (fusionné dans l'endpoint GYJ). Preprod → Shipped.

Actions

Also available in: PDF Atom