Een app voor het monitoren van stralingsblootstelling

Innowise heeft een app voor het monitoren van stralingsblootstelling geüpgraded, waardoor de responstijd is verbeterd en de basis is gelegd voor het opschalen van de softwarefunctionaliteit.

Uitdaging

De applicatie van de klant voor het monitoren van stralingsblootstelling is al meer dan 10 jaar op de markt, maar de codebase had in die tijd geen significante updates of herschrijvingen ondergaan. Naarmate het bedrijf van de klant groeide, groeide ook zijn behoefte aan een robuustere, schaalbare oplossing.

Ze wilden de software moderniseren, bugs oplossen en verschillende systematische problemen aanpakken die de prestaties en de algehele bruikbaarheid hadden beïnvloed:

  • Ontoereikende prestaties. De applicatie vertraagde aanzienlijk wanneer meerdere eindklanten tegelijkertijd query's indienden, wat soms resulteerde in lange wachttijden en de gebruikers gefrustreerd achterliet. Omdat de klant uitbreidingsplannen had en verwachtte dat het aantal gebruikers zou groeien, bleek uit de prestatiecijfers dat de app de toegenomen belasting niet aankon.
  • Beperkte mogelijkheden. In de loop der jaren realiseerde de klant zich dat de app een aantal belangrijke functies miste die nodig waren om beter te voldoen aan de eisen van hun klanten. Ze wilden de oplossing voor het monitoren van stralingsblootstelling uitbreiden met nieuwe, geavanceerde functionaliteit.
  • Slechte applicatiearchitectuur. Bij het ontwerp van de oorspronkelijke architectuur was geen rekening gehouden met schaalbaarheid, waardoor de klant zich zorgen maakte dat er geen ruimte was voor verdere groei.
  • Versnipperde documentatie. Veel van de documentatie van de app was verouderd of onvolledig. Om app-upgrades en het inwerken van nieuwe gebruikers te stroomlijnen, moest de klant alle aspecten van de bestaande oplossing in grondige projectdocumentatie opnemen.
Op dat moment werd de app voor het monitoren van stralingsblootstelling onderhouden door een extern team dat deze problemen niet snel genoeg kon oplossen. De klant was dus op zoek naar een ervaren gezondheidszorgmedewerker. partner voor softwareontwikkeling om de vernieuwing van de applicatie voor het monitoren van stralingsblootstelling over te nemen.

Oplossing

Het team van Innowise begon het project met een grondige controle van de app voor het monitoren van stralingsblootstelling om de hoofdoorzaken van de problemen met het systeem te begrijpen. Dit is wat we vonden:

  • Verouderde technologie. De app gebruikte oudere versies van programmeertalen, waaronder Node.js en Angular.js, en verschillende versies van talen door de app heen.
  • Inefficiënte SQL-query's. Er was een reeks antipatronen in de manier waarop SQL-query's werden geschreven, die bijdroegen aan slechte applicatieprestaties.
  • Problemen met versiebeheer. De applicatie leed onder inefficiënte software versiebeheerpraktijken, met verouderde bestanden, plugins van derden en uitvoerbare bestanden die waren opgeslagen onder bronbeheer.
  • Ongeorganiseerde opslagplaatsen. De structuur van de repositories en projecten was niet intuïtief, waardoor het moeilijk was om door de codebase te navigeren en deze te beheren.
  • Handmatige inzet. De applicatie werd handmatig geïmplementeerd, zonder een CI/CD-pijplijn, waardoor de bedrijfsrisico's toenamen en er mogelijk menselijke fouten werden gemaakt.
  • Geen back-up of herstelmechanismen. Er waren geen mechanismen om een back-up te maken van de applicatiegegevens of om de app te herstellen als er iets mis zou gaan.

Op basis van de auditresultaten heeft het Innowise projectteam een duidelijk stappenplan opgesteld van de verbeteringen die essentieel zijn voor de stabiliteit, prestaties en schaalbaarheid van de stralingsmonitoring app. Nadat de klant groen licht gaf voor ons plan, gingen we verder met gestage verbeteringen. 

De klant wilde dat de evolutie van de app zo soepel mogelijk zou verlopen, dus maakten we de wijzigingen onzichtbaar voor de eindgebruikers, zodat er geen bedrijfsonderbrekingen waren. Vervolgens heeft het team van Innowise de volgende wijzigingen doorgevoerd in de applicatie voor het monitoren van stralingsblootstelling.

Applicatie containerisatie

Om de prestaties te verbeteren en toekomstige schaalbehoeften te ondersteunen, splitsten we de applicatie op in verschillende belangrijke componenten: frontend, backend, rapportagemodules, logging- en monitoringmodule en database. Vervolgens containeriseerde ons team elke component en migreerde ze naar afzonderlijke virtuele machines. Deze veranderingen ondersteunden de groeiende werkbelasting die de klant verwachtte.

Modernisering van de technologiestapel

We hebben de technische stack van de app geüpgraded door verouderde frameworks en tools bij te werken, bugs op te lossen en ervoor te zorgen dat het systeem toekomstige uitbreidingen kon ondersteunen. Dit gaf de applicatie een broodnodige boost in prestaties en onderhoudbaarheid.

Database refactoring

Innowise's team refactored de stralingsblootstelling monitoring app database, het verbeteren van database queries, het toevoegen van indexen, en de invoering van foreign keys. Onze uitgebreide aanpak verhoogde de prestaties van de database na het refactoren.

Implementatie CI/CD-pijplijn

We introduceerden een pipeline voor continue integratie en implementatie (CI/CD) om het handmatige implementatieproces te vervangen. Met deze nieuwe aanpak heeft ons team het deploymentproces geautomatiseerd, waardoor updates sneller en betrouwbaarder worden. We hebben ook systeemlogging en -monitoring geïmplementeerd met behulp van Prometheus en Grafana om systeemprestaties en problemen in realtime te volgen en te visualiseren.

Back-ups en noodherstel

Het team van Innowise gebruikte Infrastructure as Code (IaC) voor disaster recovery, wat betekent dat de hele app nu binnen enkele minuten opnieuw kan worden ingezet op een nieuwe omgeving. We hebben ook robuuste back-upprocedures opgezet om ervoor te zorgen dat de gegevens veilig zijn en snel kunnen worden hersteld als dat nodig is.

Aanvraagdocumentatie

Naast het refactoren was het team van Innowise nauwgezet bezig met het creëren van documentatie voor de stralingsblootstellingsmonitoring app, inclusief alle wijzigingen in de architectuur en het systeem.

Aankomende ontwikkeling en UI-herontwerp

Nadat we de basis hadden gelegd voor de evolutie van een app voor het monitoren van stralingsblootstelling, gingen we verder met het ontwikkelen van functies en het herontwerpen van de UI. Hier zijn de toekomstige verbeteringen die ons team al heeft gepland:
  • Verbeteringen in de rapportage. We zullen de rapportagefuncties verbeteren, nieuwe soorten medische controles toevoegen en meer rapportformaten introduceren.
  • UI-herontwerp. We zullen de gebruikersinterface opnieuw ontwerpen intuïtiever te zijn en zich aan te passen aan verschillende apparaten en schermformaten, voor een betere eindgebruikerservaring
  • Verdere verbeteringen aan de architectuur. Op basis van de gegevens en prestatiecijfers zal Innowise de architectuur van de app blijven verbeteren om ervoor te zorgen dat deze effectief kan worden geschaald.

Technologieën

Frontend

Angular

Backend

Node.js, WinDev

Cloud

OVHcloud

Database

MySQL

DevOps

Terraform, Bitbucket, Grafana, Prometheus, Docker, Docker Compose

Proces

Aangezien de klant flexibiliteit wilde in de omvang van het project, kwamen we een Time & Material-prijsmodel overeen, wat betekent dat we de projecturen vooraf schatten, maar de klant alleen de werkelijk bestede uren in rekening brachten. Wanneer de klant de omvang van het project wilde uitbreiden, zorgde onze projectmanager voor aanvullende berekeningen, zodat de klant de kosten en de voortgang van het project gemakkelijk kon bijhouden.

We gebruikten een iteratieve projectmanagementaanpak, waarbij we het project opsplitsten in sprints en duidelijke mijlpalen definieerden voor elke fase. Elke week hield ons projectteam gesprekken met de belanghebbenden van de klant om de voortgang en resultaten te delen en zo de algehele teamafstemming te verbeteren.

Vereist team

1

Project Manager

1

Leveringsmanager

1

Bedrijfs-analist

1

Oplossing Architect

1

Back-End Ontwikkelaar

1

Front-End Ontwikkelaar

1

DevOps Engineer

1

QA ingenieur

1

Ingenieur Penetratietesten

Resultaten

Nu heeft de klant een veel robuustere, schaalbare en onderhoudbare applicatie voor het monitoren van stralingsblootstelling. We hebben met succes de software-infrastructuur vernieuwd, prestatieproblemen opgelost en ervoor gezorgd dat de architectuur toekomstige groei aankan. Het team van Innowise heeft ook een duidelijk stappenplan opgesteld voor de ontwikkeling van nieuwe functies en systeemverbeteringen, die de gebruikerservaring en operationele efficiëntie verder zullen verbeteren.

    Contacteer ons

    Boek een gesprek of vul het onderstaande formulier in en we nemen contact met je op zodra we je aanvraag hebben verwerkt.

    Stuur ons een spraakbericht
    Documenten bijvoegen
    Bestand uploaden

    Je kunt 1 bestand van maximaal 2 MB bijvoegen. Geldige bestandsformaten: pdf, jpg, jpeg, png.

    Door op Verzenden te klikken, stemt u ermee in dat Innowise uw persoonsgegevens verwerkt volgens onze Privacybeleid om u van relevante informatie te voorzien. Door je telefoonnummer op te geven, ga je ermee akkoord dat we contact met je opnemen via telefoongesprekken, sms en messaging-apps. Bellen, berichten en datatarieven kunnen van toepassing zijn.

    U kunt ons ook uw verzoek sturen
    naar contact@innowise.com
    Wat gebeurt er nu?
    1

    Zodra we je aanvraag hebben ontvangen en verwerkt, nemen we contact met je op om de details van je projectbehoeften en tekenen we een NDA om vertrouwelijkheid te garanderen.

    2

    Na het bestuderen van uw wensen, behoeften en verwachtingen zal ons team een projectvoorstel opstellen met de omvang van het werk, de teamgrootte, de tijd en de geschatte kosten voorstel met de omvang van het werk, de grootte van het team, de tijd en de geschatte kosten.

    3

    We zullen een afspraak met je maken om het aanbod te bespreken en de details vast te leggen.

    4

    Tot slot tekenen we een contract en gaan we meteen aan de slag met je project.

    pijl