Le formulaire a été soumis avec succès.
Vous trouverez de plus amples informations dans votre boîte aux lettres.
Sélection de la langue
Innowise a modernisé avec succès l'ancien système de gestion des stocks d'une grande chaîne de pharmacies, ce qui a permis d'améliorer la vitesse, la stabilité et la satisfaction des utilisateurs.
Notre client est une chaîne internationale de pharmacies réputée pour sa vaste gamme de produits de santé et de beauté. Cette chaîne se distingue par ses consultations pharmaceutiques professionnelles. En outre, la chaîne propose un programme de fidélisation qui accorde aux participants des réductions, des primes et des offres spéciales. Un magasin en ligne propose la livraison ou le retrait en magasin de la pharmacie la plus proche pour le plus grand confort des clients. L'entreprise développe et met en œuvre activement des technologies innovantes pour améliorer le service à la clientèle et rationaliser les processus internes.
Les informations détaillées sur le client ne peuvent être divulguées en vertu des dispositions de la NDA.
Le client devait moderniser son système de gestion des stocks, qui reposait sur une technologie obsolète et ne répondait plus aux normes de performance et de fonctionnalité actuelles. L'ancien code était difficile à maintenir et à mettre à jour, ce qui compliquait la mise en œuvre de nouvelles fonctionnalités et améliorations. Le système fonctionnait lentement, avec des pannes et des erreurs fréquentes qui avaient un impact négatif sur le travail des pharmaciens et sur l'ensemble du processus commercial.
L'équipe Innowise a été engagée pour relever les défis de la mise à jour du code existant, assurer une transition transparente de l'ancien système vers le nouveau, optimiser les performances de l'application à tous les niveaux et améliorer la convivialité.
Innowise a lancé un projet de modernisation complet, remplaçant le code patrimonial obsolète par une pile technologique de pointe et mettant en œuvre une architecture microservices pour améliorer l'évolutivité et la vitesse de développement. Cette nouvelle architecture a permis de résoudre efficacement les goulets d'étranglement existants en matière de performances et d'améliorer considérablement les fonctionnalités.
En outre, nous avons mis au point une nouvelle interface utilisateur intuitive, basée sur des recherches approfondies sur l'expérience des utilisateurs, dans le but d'améliorer la convivialité et de rationaliser les tâches quotidiennes des pharmaciens.
Notre équipe a mené un audit complet du système existant, en analysant méticuleusement la base de code, l'architecture et les technologies utilisées. L'audit a révélé que le système reposait sur une version obsolète du logiciel .NET CadreLe système de gestion de l'information a été mis à l'épreuve par l'utilisation d'une bibliothèque de composants obsolète et d'une base de données Sybase périmée. Ces facteurs ont contribué à plusieurs problèmes critiques, notamment des performances médiocres, des problèmes d'évolutivité, des vulnérabilités en matière de sécurité et une intégration limitée avec des outils et des services modernes.
Sur la base des résultats de l'audit, nous avons décidé de revoir complètement le code du système. Nos experts ont choisi .NET 8 comme nouveau cadre technologique parce qu'il offre des performances supérieures, de la flexibilité et un ensemble complet de capacités pour le développement d'applications de pointe.
En mettant l'accent sur l'innovation et l'efficacité, nous sommes passés à une architecture de microservices en décomposant le système en modules indépendants, chacun dédié à des capacités commerciales spécifiques. Nos microservices ont été méticuleusement conçus selon les principes du couplage lâche, de la cohésion élevée et de l'alignement sur les domaines d'activité, en incorporant les meilleures pratiques des principes SOLID et DDD (domain-driven design). Ce changement stratégique a considérablement rationalisé nos processus de développement, de test et de déploiement, tout en améliorant la tolérance aux pannes et l'évolutivité.
La mise en œuvre s'est déroulée en plusieurs phases afin d'assurer une continuité parfaite des opérations commerciales du client. En utilisant le "strangler fig pattern", nous avons progressivement remplacé les fonctionnalités héritées par de nouveaux microservices. Pour maintenir la compatibilité des données et des fonctions pendant la transition, nous avons utilisé des adaptateurs et des mécanismes de transformation des données basés sur le modèle de la couche anti-corruption. Cette approche nous a permis de gérer soigneusement la complexité et la surcharge potentielle introduites par ces couches supplémentaires, garantissant ainsi une transition harmonieuse et efficace.
Nous avons optimisé les performances de l'application à tous les niveaux. Ce processus comprenait l'ajustement des requêtes de base de données dans Sybase et SQL Server, l'utilisation de Redis pour la mise en cache des données afin d'accélérer l'accès aux informations fréquemment utilisées, et l'utilisation de la programmation asynchrone avec le traitement parallèle des données afin d'augmenter la réactivité de l'application. En outre, nous avons mis en œuvre des mécanismes complets de surveillance et de journalisation afin d'identifier et de résoudre rapidement les problèmes potentiels, ce qui a permis d'améliorer la stabilité du système.
Sachant que l'efficacité du travail des pharmaciens dépend directement de la convivialité des outils qu'ils utilisent, nous avons accordé une attention particulière au développement de l'interface de la nouvelle application. Notre processus a commencé par une exploration approfondie des flux de travail afin d'identifier les principaux points douloureux, les besoins et les préférences concernant l'interface. Nous avons méticuleusement analysé les scénarios de travail typiques, les fonctionnalités fréquemment utilisées et les points problématiques de l'application existante.
Forts de ces données, nous avons conçu des prototypes d'interface cliquable présentant diverses options de conception et de navigation. Ces prototypes nous ont permis de tester différentes approches et de recueillir les commentaires des pharmaciens avant de commencer le développement.
Nous avons effectué plusieurs séries de tests de convivialité, en affinant les prototypes sur la base des résultats obtenus. Ce cycle itératif s'est poursuivi jusqu'à ce que nous ayons obtenu l'interface optimale.
Le résultat est une interface intuitive avec une navigation facile, un design moderne et une mise en page adaptative, garantissant un affichage correct sur différents appareils.
Bases de données
Sybase, Redis, SQL
Surveillance
Datadog
Langages de programmation
.NET, C#, TypeScript
Tests API
Postman
VCS
Bitbucket
DevOps
Docker, Jenkins
Chez Innowise, l'interaction avec les clients est fondée sur la transparence et une coopération étroite. Au cours de la phase initiale, notre équipe a procédé à une analyse complète du système existant et a créé un plan d'action sur mesure pour relever les défis identifiés. Après l'approbation du client, nous avons commencé la mise en œuvre en utilisant la méthodologie Scrum, en décomposant le projet en sprints gérables de deux semaines avec des objectifs et des livrables clairement définis.
À la fin de chaque sprint, l'équipe a présenté les résultats au client et a recueilli ses commentaires, ce qui a permis de réagir avec souplesse aux changements d'exigences et d'ajuster le plan de développement. Le chef de projet a fourni au client des rapports bihebdomadaires sur le travail accompli, les résultats obtenus et les plans pour le sprint à venir. Nous avons maintenu une communication continue avec le client par le biais de divers canaux, y compris le courrier électronique, Slack et la vidéoconférence.
1
Chef de projet
2
Développeurs Back-End
1
Développeur Front-End
2
Ingénieurs DevOps
2
Ingénieurs QA
Notre équipe a modernisé avec succès le système de gestion des produits et des paniers, ce qui a permis d'améliorer considérablement l'efficacité des pharmaciens et le service à la clientèle. Le nouveau système présente une augmentation de vitesse de 40%, réduisant le temps de réponse de 5 à 3 secondes, et une amélioration de stabilité de 25%, les temps d'arrêt non planifiés passant de deux fois par semaine à seulement une fois par mois.
Grâce à une architecture de microservices, le système traite désormais jusqu'à 1 500 transactions par heure, soit 30% de plus que le système précédent, ce qui offre une solide marge de manœuvre pour la croissance future. En réécrivant le code existant et en optimisant les processus, nous avons réduit de moitié les défaillances critiques, comme en témoigne une réduction substantielle des appels au support.
30%
augmentation de la capacité de traitement du système
40%
amélioration de la vitesse de réaction
Après avoir reçu et traité votre demande, nous reviendrons vers vous pour détailler les besoins de votre projet et signer un accord de non-divulgation pour assurer la confidentialité des informations.
Après avoir examiné les exigences, nos analystes et nos développeurs élaborent une proposition de projet avec l'étendue des travaux, le nombre de membre de l'équipe, les délais et les coûts des coûts.
Nous organisons une réunion avec vous pour discuter de l'offre et parvenir à un accord.
Nous signons un contrat et commençons à travailler sur votre projet le plus rapidement possible.
En vous inscrivant, vous acceptez nos Conditions d'utilisation et Politique de confidentialité, y compris l'utilisation de cookies et le transfert de vos informations personnelles.
© 2007-2024 Innowise. Tous droits réservés.
Politique de confidentialité. Politique en matière de cookies.
Innowise Sp. z o.o Ul. Rondo Ignacego Daszyńskiego, 2B-22P, 00-843 Varsovie, Pologne
En vous inscrivant, vous acceptez notre Politique de confidentialitéy compris l'utilisation de cookies et le transfert de vos informations personnelles.
Merci !
Votre message a été envoyé.
Nous traiterons votre demande et vous recontacterons dès que possible.
Merci !
Votre message a été envoyé.
Nous traiterons votre demande et vous contacterons dès que possible.