Description du projet
TraduitLa partie principale du travail est la conception du schéma et des résolveurs. Nous attendons un système de types bien structuré avec des noms clairs et des résolveurs qui appellent les points de terminaison REST sous-jacents, assemblent des entités connexes et résolvent les liens entre services sans l'explosion classique N+1 — c'est-à-dire que le regroupement et le modèle de chargeur de données pour chaque requête sont obligatoires. En plus de cela, nous avons besoin d'une mise en cache des réponses avec une invalidation et une autorisation adéquates : transmettre le jeton de l'appelant, le vérifier à la passerelle et appliquer des règles d'accès au niveau des champs et des types. Veuillez gérer les échecs partiels avec grâce afin qu'un backend lent ne fasse pas échouer l'ensemble de la requête.
Pour éviter toute confusion : il ne s'agit pas d'un serveur API fictif ou d'une passerelle webhook — nous avons besoin d'une couche d'agrégation de production de GraphQL sur des API REST en direct. Le résultat doit être déployable, documenté et couvert par des tests. Notez quelle pile vous préférez (Node avec Apollo, routeur de fédération ou une autre approche) et pourquoi. Estimez — trois semaines, pour un ingénieur compétent le calendrier est négociable.
— Schéma GraphQL unifié sur 4+ services REST
— Résolveurs avec assemblage, fédération et chargeur de données
— Stratégie de mise en cache des réponses et d'invalidation
— Transmission de jeton et autorisation au niveau des champs et des types
— Tests, documentation et docker-compose local pour l'exécution