Déjenos sus datos y le enviaremos un resumen por correo electrónico.
Consiento el tratamiento de mis datos personales para el envío de material publicitario personalizado de conformidad con la Política de privacidad. Al confirmar el envío, acepta recibir material de marketing
Gracias.

El formulario se ha enviado correctamente.
Encontrará más información en su buzón.

Innowise es una empresa internacional de desarrollo de software de ciclo completo fundada en 2007. Somos un equipo de más de 1800+ profesionales de TI que desarrollan software para otros profesionales de todo el mundo.
Conócenos
Innowise es una empresa internacional de desarrollo de software de ciclo completo fundada en 2007. Somos un equipo de más de 1800+ profesionales de TI que desarrollan software para otros profesionales de todo el mundo.

Updating pharmacy inventory system: 30% increase in throughput capacity

Innowise successfully modernized the legacy inventory management system for a leading pharmacy chain, resulting in increased speed, improved stability, and enhanced user satisfaction.

Cliente

Industria
Farmacia
Región
UE
Cliente desde
2023

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.

La información detallada sobre el cliente no puede divulgarse en virtud de las disposiciones del acuerdo de confidencialidad.

Desafío

Legacy system hinders pharmacy chain efficiency

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.

Solución

System modernization with microservice architecture

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.

Legacy code refactoring

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 Marco, 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.

Migration to microservice architecture

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.

Enhanced performance and stability

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.

Enhanced usability

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.

Tecnologías

Bases de datos

Sybase, Redis, SQL

Supervisión

Datadog

Lenguajes de programación

.NET, C#, TypeScript

Pruebas API

Postman

VCS

Bitbucket

DevOps

Docker, Jenkins

Proceso

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.

Equipo

1

Jefe de proyecto

2

Desarrolladores de Back-end

1

Desarrollador de Front-End

2

Ingenieros DevOps

2

Ingenieros de QA

Resultados

Colocación de productos 2 veces más rápida en el mercado

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.

Duración del proyecto
  • Marzo 2023 - En curso

30%

increase in system throughput capacity

40%

improvement in response speed

Póngase en contacto con nosotros

Reservar una llamada o rellene el siguiente formulario y nos pondremos en contacto con usted cuando hayamos procesado su solicitud.

    Por favor, facilítenos detalles del proyecto, duración, tecnologías, especialistas informáticos necesarios y otra información relevante.
    Grabe un mensaje de voz sobre su proyecto
    para ayudarnos a comprenderlo mejor.
    Adjunte los documentos adicionales si es necesario
    Cargar archivo

    Puede adjuntar hasta 1 archivo de 2 MB en total. Archivos válidos: pdf, jpg, jpeg, png

    Le informamos de que cuando haga clic en el botón Enviar, Innowise procesará sus datos personales de acuerdo con nuestra Política de privacidad con el fin de proporcionarle la información adecuada.

    ¿Qué pasa después?

    1

    Una vez recibida y procesada su solicitud, nos pondremos en contacto con usted para detallar las necesidades de su proyecto y firmar un acuerdo de confidencialidad que garantice la confidencialidad de la información.

    2

    Después de examinar los requisitos, nuestros analistas y desarrolladores elaboran una propuesta de proyecto con el alcance de las obras, el tamaño del equipo, el tiempo y las estimaciones de costos.

    3

    Concertamos una reunión con usted para discutir la oferta y llegar a un acuerdo.

    4

    Firmamos un contrato y comenzamos a trabajar en su proyecto lo más rápido posible.

    ¡Спасибо!

    Cообщение отправлено.
    Мы обработаем ваш запрос и свяжемся с вами в кратчайшие сроки.

    Gracias.

    Su mensaje ha sido enviado.
    Procesaremos su solicitud y nos pondremos en contacto con usted lo antes posible.

    Gracias.

    Su mensaje ha sido enviado. 

    Procesaremos su solicitud y nos pondremos en contacto con usted lo antes posible.

    flecha