Skip to content

Building Custom Software Platforms and Applications for a Multinational Pharmaceutical Corporation

Software EngineeringDevelopment

Overview

A multinational pharmaceutical corporation that engages in pharmaceutical research and marketing partnered with This Dot Labs to develop and finalize an existing custom software platform and build two new applications. The pre-existing applications suite allows users to explore available compounds, clinical trials, and narratives using advanced filtering. Each application shares common functionality but has its own purpose and characteristics.

One of the new applications is an iOS and Windows application that expands over the existing Microsite functionalities, adding the ability to sign in and manage content packages, guarantee offline support, bookmark important information, record navigational sessions, and more.

Another application is meant to be displayed on large screens at medical congresses and events. It introduces new features and functionality to the application, including demo mode, which automatically showcases different sections of content that the user wants to display after detecting inactivity.


Tech-stack

Nx LogoNx
Angular LogoAngular
NgRx LogoNgRx
Cypress LogoCypress
Cordova LogoCordova
Electron LogoElectron
NodeJS LogoNodeJS
Loopback LogoLoopback
  • Nx Monorepo to avoid code duplication and maximize logic reuse
  • Angular for stability and coding practices standardization
  • NgRx for state management
  • Cypress for integration tests
  • Cordova and Electron for cross-platform deployment
  • NodeJS and Loopback to create a coherent API shared across all three products

This Dot Labs is a development consultancy focused on providing staff augmentation, architectural guidance, and consulting to companies.

We help implement and teach modern web best practices with technologies such as React, Angular, Vue, Web Components, GraphQL, Node, and more.

Incremenetal Refactoring Client Logo

The Client is a multinational pharmaceutical corporation that engages in pharmaceutical research and marketing.

pharmaceutical corporation details section img1

Exceptional Development Velocity Through Close Collaboration

This Dot Labs' engineers and managers inherited the source code of a complex legacy application, and organized the work and the code to deliver three derived applications in less time than anticipated. We collaborated daily with the client, soliciting feedback from stakeholders while identifying the key functionalities that needed to be present in the final product. This process allowed us to quickly deliver highly performant technologies that met the scope of the requirements without exceeding budgetary or time constraints.

pharmaceutical-corporation details img 4

Creating Multiple Information Packages System with Offline Support

One of the project's most challenging tasks was creating an Information Package system. Information packages within this project contain not only text but also images and videos, making each package very large, especially for the web. The system provides a mechanism for allowing a given user to access the different packages that they are allowed to access, download those packages, and access them offline. To create a robust and error-resistant solution, the team identified the best mechanism for downloading the information to access it later, leveraging NgRx to manage its entire data fetching and storing solution.

In the final product, when a new version of a package is approved for download, the downloaded version of the cache is cleared, and all data requests are fetched in parallel for performance, but terminated if any of the individual requests fail, making the packages an atomic entity. Any endpoint failure is caught and retried independently, avoiding package download cancellations in case of temporary unavailability. The data is stored in the cache and hydrated into the system by dispatching all the existent NgRx actions from the previous state of the application.

We created a facade for the cache to abstract the underlying data storage mechanism. IndexedDB was chosen for the web version, and SQLite was chosen for the iOS and Windows versions. Custom drivers were created to connect with the facade.

There were also interesting challenges related to the Package Management system, including detecting offline mode and selecting package updates. To detect offline mode, we captured all outgoing requests and checked for network unavailability, in addition to using the Browser Navigator online/offline events and Cordova Wrapper. To detect package updates, we created a polling service that prompts the user with an update found dialog based on the last time a check was made.

pharmaceutical-corporation details section img3

Conclusion

This Dot Labs' partnership with the multinational pharmaceutical corporation resulted in the successful development and delivery of three highly performant technologies. Our team's expertise in modern web best practices and technologies allowed us to overcome the project's challenges and create custom software platforms and applications that exceeded our client's expectations.

Let's see how This Dot can help you

Are you looking for a development consulting firm that can provide staff augmentation, architectural guidance, and consulting to your company? Look no further than This Dot Labs. Our team of experienced developers and managers can help you implement and teach modern web best practices, and deliver your projects on time and within budget. Contact us today to learn more about our services and how we can help you achieve your development goals.

You might also like

Portfolio

Our clients are building for the future. Explore This Dot Labs' portfolio, and see how we have helped them achieve their diverse technical goals.