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
Our customer is an international chain of pharmacies renowned for its extensive range of health and beauty products. A standout feature of this chain is the professional pharmaceutical consultations. Additionally, the chain offers a loyalty program that grants participants discounts, bonuses, and special offers. An online store offers delivery or in-store pickup from the nearest pharmacy for customer convenience. The company is actively developing and implementing innovative technologies to enhance customer service and streamline internal processes.
Les informations détaillées sur le client ne peuvent être divulguées en vertu des dispositions de la NDA.
The client needed to modernize their inventory management system, which was based on outdated technology and no longer met contemporary performance and functionality standards. The legacy code was difficult to maintain and upgrade, complicating the implementation of new features and improvements. The system operated slowly, with frequent failures and errors that negatively impacted pharmacists’ work and the overall business process.
The Innowise team was engaged to tackle the challenges of updating legacy code, ensuring a seamless transition from the old system to the new one, optimizing application performance at all levels, and enhancing usability.
Innowise initiated a comprehensive modernization project, replacing outdated legacy code with a cutting-edge technology stack and implementing a microservices architecture to enhance scalability and development speed. This new architecture effectively resolved existing performance bottlenecks and significantly improved functionality.
Furthermore, we developed a redesigned, intuitive user interface based on extensive user experience research, aiming to improve usability and streamline the daily tasks of pharmacists.
Our team conducted a comprehensive audit of the existing system, meticulously analyzing the codebase, architecture, and technologies in use. The audit revealed that the system was built on an outdated version of the .NET Cadre, employed an obsolete component library, and relied on an outdated Sybase database. These factors contributed to several critical issues, including poor performance, scalability challenges, security vulnerabilities, and limited integration with modern tools and services.
Based on the audit results, we decided to completely overhaul the system’s code. Our experts choose .NET 8 as the new tech framework because it offers superior performance, flexibility, and a full set of capabilities for developing cutting-edge applications.
With a focus on innovation and efficiency, we transitioned to a microservice architecture by decomposing the system into independent modules, each dedicated to specific business capabilities. Our microservices were meticulously designed with principles of loose coupling, high cohesion, and alignment with business domains, incorporating best practices from SOLID and domain-driven design (DDD) principles. This strategic shift significantly streamlined our development, testing, and deployment processes, while also enhancing fault tolerance and scalability.
The implementation was carried out in phases to ensure seamless continuity of the client’s business operations. Employing the “strangler fig pattern”, we gradually replaced legacy functionality with new microservices. To maintain data and functional compatibility during the transition, we utilized adapters and data transformation mechanisms based on the anti-corruption layer pattern. This approach allowed us to carefully manage the complexity and potential overhead introduced by these additional layers, ensuring a smooth and efficient transition.
We have optimized the application’s performance across all tiers. This process included fine-tuning database queries in both Sybase and SQL Server, leveraging Redis for data caching to accelerate access to frequently used information, and utilizing asynchronous programming alongside parallel data processing to boost application responsiveness. Additionally, we implemented comprehensive monitoring and logging mechanisms to swiftly identify and address potential issues, resulting in improved system stability.
Understanding that the efficiency of pharmacists’ work directly depends on the usability of the tools they use, we placed a special focus on developing the interface of the new application. Our process began with an in-depth exploration of workflows to pinpoint key pain points, needs, and preferences regarding the interface. We meticulously analyzed typical work scenarios, frequently used features and problem areas of the existing application.
Armed with this data, we engineered clickable interface prototypes featuring various design and navigation options. These prototypes allowed us to test different approaches and gather feedback from pharmacists before beginning the development.
We conducted multiple rounds of usability testing, refining the prototypes based on the results. This iterative cycle continued until we achieved the optimal interface.
The outcome is an intuitive interface with easy navigation, a modern design, and an adaptive layout, ensuring correct display across different devices.
Bases de données
Sybase, Redis, SQL
Surveillance
Datadog
Langages de programmation
.NET, C#, TypeScript
Tests API
Postman
VCS
Bitbucket
DevOps
Docker, Jenkins
At Innowise, client interaction is rooted in transparency and close cooperation. During the initial stage, our team conducted a comprehensive analysis of the existing system and created a tailored plan of action to address the identified challenges. Upon client approval, we commenced implementation using the Scrum methodology, breaking down the project into manageable two-week sprints with clearly defined goals and deliverables.
At the end of each sprint, the team presented the results to the client and gathered feedback, allowing for flexible responses to changes in requirements and adjustments to the development plan. The project manager provided the client with bi-weekly reports on completed work, achieved results, and plans for the upcoming sprint. We maintained continuous communication with the client through various channels, including email, Slack, and video conferencing.
1
Chef de projet
2
Développeurs Back-End
1
Développeur Front-End
2
Ingénieurs DevOps
2
Ingénieurs QA
Our team has successfully modernized the product and basket management system, significantly enhancing pharmacist efficiency and customer service. The new system boasts a 40% increase in speed, reducing response time from 5 seconds to 3 seconds, and a 25% improvement in stability, with unplanned downtime dropping from twice a week to just once a month.
With a microservice architecture, the system now handles up to 1,500 transactions per hour — 30% more than the previous system — providing a robust margin for future growth. By rewriting legacy code and optimizing processes, we have halved critical failures, as evidenced by a substantial reduction in support calls.
30%
increase in system throughput capacity
40%
improvement in response speed
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
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.