Lasciate i vostri contatti, vi invieremo la nostra panoramica via email
Acconsento al trattamento dei miei dati personali per l'invio di materiale di marketing personalizzato in conformità con la normativa vigente. Informativa sulla privacy. Confermando l'invio, l'utente accetta di ricevere materiale di marketing
Grazie!

Il modulo è stato inviato con successo.
Ulteriori informazioni sono contenute nella vostra casella di posta elettronica.

Innowise è una società internazionale di sviluppo software a ciclo completo fondata nel 2007. Siamo un team di oltre 1800+ professionisti IT che sviluppano software per altri professionisti in tutto il mondo.
Chi siamo
Innowise è una società internazionale di sviluppo software a ciclo completo fondata nel 2007. Siamo un team di oltre 1800+ professionisti IT che sviluppano software per altri professionisti in tutto il mondo.

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
Farmaceutica
Regione
UE
Cliente da
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.

Le informazioni dettagliate sul cliente non possono essere divulgate in base alle disposizioni dell NDA.

Sfida

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.

Soluzione

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 Struttura .NET, 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.

Tecnologie

Databases

Sybase, Redis, SQL

Monitoraggio

Datadog

Linguaggi di programmazione

.NET, C#, TypeScript

API testing

Postman

VCS

Bitbucket

DevOps

Docker, Jenkins

Processo

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.

Team

1

Responsabile di progetto

2

Sviluppatori back-end

1

Sviluppatore front-end

2

Ingegneri DevOps

2

Ingegneri QA

Risultati

Posizionamento 2 volte più veloce dei prodotti sul mercato

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.

Durata del progetto
  • Marzo 2023 - In corso

30%

increase in system throughput capacity

40%

improvement in response speed

Contattateci!

Prenota una chiamata oppure compilate il modulo sottostante e sarete ricontattati una volta elaborata la vostra richiesta.

    Si prega di includere i dettagli del progetto, la durata, lo stack tecnologico, i professionisti IT necessari e altre informazioni pertinenti
    Registra un messaggio vocale sul tuo
    progetto per aiutarci a capirlo meglio
    Allega ulteriori documenti se necessario
    Caricare il file

    È possibile allegare fino a 1 file di 2 MB complessivi. File validi: pdf, jpg, jpeg, png

    Vi informiamo che cliccando sul pulsante Invia, Innowise tratterà i vostri dati personali in conformità con la nostra Informativa sulla privacy allo scopo di fornirvi informazioni adeguate.

    Cosa succede dopo?

    1

    Dopo aver ricevuto ed elaborato la vostra richiesta, vi ricontatteremo a breve per illustrare le esigenze del progetto e firmare un NDA per garantire la riservatezza delle informazioni.

    2

    Dopo aver esaminato i requisiti, i nostri analisti e sviluppatori elaborano una proposta di progetto con l'ambito di lavoro, le dimensioni del team, i tempi e i costi stimati.

    3

    Organizziamo un incontro con voi per discutere l'offerta e giungere a un accordo.

    4

    Firmiamo un contratto e iniziamo a lavorare sul vostro progetto il prima possibile.

    Спасибо!

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

    Grazie!

    Il tuo messaggio è stato inviato.
    Elaboreremo la vostra richiesta e vi ricontatteremo al più presto.

    Grazie!

    Il tuo messaggio è stato inviato. 

    Elaboreremo la vostra richiesta e vi ricontatteremo al più presto.

    freccia