Premier projet de Spyrosoft : GeoPlace
Le siège de GeoPlace est basé à Londres, et l'entreprise traite et fournit des données de géolocalisation. Notre principale tâche dans le cadre de ce projet consistait à développer et à partager une API adaptée à la gestion des données relatives aux rues et aux adresses au Royaume-Uni.
Fonctionnalités principales et supplémentaire objectifs
Les principales fonctionnalités du système étaient centrées sur le téléchargement de certains fichiers de localisation depuis diverses sources (y compris des boîtes de réception e-mail et FTP), l'ajustement de ces fichiers afin qu'ils correspondent à certains formats, puis leur envoi vers des bases de données où ils étaient validés. Dans un second temps, les données peuvent être mises à la disposition des partenaires tiers du client via des endpoints. C'est ainsi que les informations sont actuellement utilisées par Ordnance Survey au Royaume-Uni.
Outre cet objectif principal de créer une API accessible et fiable, nos testeurs ont également été chargés de former l'équipe de testeurs du client à l'Agile et de les guider à travers un ensemble de bonnes pratiques concernant les types de problèmes à rechercher, comment progresser en tant que spécialistes QA et comment créer un plan QA.
Les testeurs de Spyrosoft ont également préparé un framework de test utilisant l'outil de test Cucumber, écrit en Java, ainsi que des rapports de test générés automatiquement lors du lancement d'une nouvelle tâche dans Jenkins, un serveur d'automatisation open source.
L'un des défis les plus importants de ce projet en matière de tests résidait dans la taille et la complexité des procédures stockées dans les bases de données, ainsi que dans les requêtes SQL complexes utilisées pour tester les données. Compte tenu de ces contraintes, nos testeurs ont décidé d'utiliser un outil supplémentaire pour créer des tests unitaires de base de données afin de valider les données plus efficacement. La singularité de cette solution réside dans le fait que les données provenaient de plusieurs sources à la fois et devaient être traitées de manière asynchrone.
Découvrez nos services géospatiaux !
En savoir plusComment le projet Aurora a-t-il été créé ?
L'équipe de GeoPlace avait besoin d'un moyen plus efficace de gérer ses données de géolocalisation et a décidé d'engager une équipe de développement externe capable de créer une API fiable pour les fournisseurs tiers, afin de disposer d'une base de données de rues et d'adresses toujours à jour. Dans un premier temps, nos développeurs ont élaboré un plan pour la solution complète et son MVP, puis y ont ajouté de nouvelles fonctionnalités.
L'équipe GeoPlace était entièrement responsable de la vérification des données ajoutées à la base de données. Elle travaillait également avec des spécialistes expérimentés des bases de données et gérait la logique métier du produit, qui était directement liée aux bases de données. Il était particulièrement important pour ce projet de consolider diverses sources de données, qui étaient également livrées sous différents formats, notamment XML et CSV. Avant que nous ne commencions à mettre en place le système, ces fichiers devaient être gérés manuellement par l'équipe GeoPlace.
La solution
L'une des premières améliorations que notre équipe a mises en œuvre a été l'introduction du workflow Agile et Scrum auprès du reste des équipes projet. Par conséquent, l'équipe se réunissait lors de courts points quotidiens (daily scrums) et de revues (rétrospectives) après chaque sprint (une période de 2 semaines durant laquelle tous les membres de l'équipe travaillaient sur une nouvelle itération du produit). Pour ce faire, nous avons collaboré très étroitement avec l'équipe GeoPlace en leur montrant comment cette méthodologie fonctionne en pratique et en dispensant une formation Agile tout au long de nos 4 premiers mois de travail depuis leur siège à Londres. Nous étions également les premiers renforts externalisés de l'équipe projet, ce qui signifie que nos développeurs étaient tous partants pour organiser de nouveaux processus et ajuster le workflow afin qu'il corresponde à cette nouvelle configuration.
Notre équipe a également participé au développement du produit, à la planification de fonctionnalités supplémentaires et des technologies à utiliser dans le processus. La mise en œuvre a été assurée par notre équipe, à l'exclusion des bases de données. Deux architectes système étaient responsables du projet – l'un de l'équipe GeoPlace et l'autre de Spyrosoft.
Le client disposait de son propre environnement de déploiement et d'infrastructure. Nos ingénieurs ont proposé d'introduire ClayOne Kafka pour la surveillance des performances et le traitement de fichiers volumineux. Nous avons également mis en œuvre le framework Apache Camel – dans le seul but d'intégrer le système avec différentes sources de données. De notre côté, des solutions ont également été développées en Java, assurant la réception des données avant de les transmettre à la base de données.
L'un de nos spécialistes QA animait également des sessions de formation pour d'autres testeurs dans le projet, au cours desquelles il parlait du travail en Agile, de la manière dont les testeurs pouvaient travailler selon cette méthodologie, des points à surveiller, de la création d'un plan de test et des qualités que devrait posséder un excellent testeur. Il a également préparé un framework de test utilisant l'outil Cucumber Testing Tool, écrit en Java, ainsi qu'un rapport de test généré automatiquement lors du lancement d'une nouvelle tâche dans Jenkins, un serveur d'automatisation open source.
L'un des plus grands défis de ce projet était la taille des procédures stockées dans la base de données et le SQL avancé qui testait ces données. C'est là que nos développeurs ont introduit un outil permettant de créer des tests unitaires de la base de données et de vérifier les données plus efficacement.
L'unicité de la solution réside dans sa capacité à traiter efficacement des fichiers provenant de différentes sources et à fonctionner de manière asynchrone. Quant aux tests, il s'agit de tester des fichiers 2G dans un format spécifique aux projets de géolocalisation.
Notre équipe a collaboré étroitement et a immédiatement établi une relation de confiance et de travail fructueuse, de sorte qu'ils se sentaient véritablement partie intégrante de GeoPlace.
Prochaines étapes
Grâce au système mis en place, l'équipe de GeoPlace a pu limiter le nombre d'heures consacrées au téléchargement manuel des données, à leur vérification et à leur chargement dans la base de données. Cela les a non seulement aidés à économiser du temps et de l'argent, mais leur a également permis de disposer de la capacité nécessaire pour se concentrer sur d'autres tâches essentielles. Ils sont désormais en mesure d'offrir davantage de services liés aux données à leurs clients finaux.
Nous avons commencé à collaborer en 2016 et Aurora a été le tout premier projet pour Spyrosoft. Il a été lancé en janvier 2021.
L'objectif principal était de développer une API fiable pour la gestion des données de rues et d'adresses au Royaume-Uni. La solution permet à GeoPlace de télécharger, formater, valider et partager automatiquement des données de géolocalisation avec des partenaires tiers tels qu'Ordnance Survey.
Notre équipe a mis en œuvre Apache Camel pour l'intégration des systèmes et ClayOne Kafka pour la surveillance des performances et la gestion de fichiers volumineux. Les tests ont été réalisés à l'aide de Cucumber (Java), avec des rapports automatisés générés via Jenkins. La solution a été conçue pour le traitement asynchrone des données provenant de sources multiples.
Les principaux défis du projet comprenaient la gestion de procédures de base de données étendues, le test de requêtes SQL complexes et la gestion de fichiers de géolocalisation volumineux (2 Go) provenant de différentes sources. Notre équipe y a répondu en créant des tests unitaires de base de données personnalisés afin de garantir l'exactitude et la performance.
La nouvelle API a considérablement réduit le travail manuel et amélioré l'efficacité du traitement et de la validation des données. GeoPlace peut désormais fournir plus rapidement des données de géolocalisation actualisées et de haute qualité, en économisant du temps et des ressources tout en élargissant son offre de services à ses clients et partenaires.
arrow_circle_rightContact
Vous souhaitez collaborer avec moi ? Contactez-moi.
arrow_circle_right nos articles