Baby breathing monitor system upgrade: optimized development costs

Innowise heeft een platform voor het monitoren van de ademhaling van baby's aanzienlijk geüpgraded en het systeem voorbereid op uitbreidingen van de functieset en schaalvergroting.

Klant

Regio
EU
Klant sinds
2022

The customer is a global manufacturer of a wide range of consumer electronics, with a specialized division dedicated to baby healthcare devices. This division focuses on creating innovative products, such as breathing monitors, video baby monitors, and dreamers, designed to monitor infants’ breathing patterns and improve their sleep. Parents can access essential health monitoring and support through web and mobile applications.

Gedetailleerde informatie over de klant kan niet openbaar worden gemaakt krachtens de bepalingen van de NDA.

Uitdaging

Instabiliteit van applicaties in een vroeg stadium en slechte codestructuur overwinnen

De klant had mobiele en webapplicaties voor hun babyademhalingsmonitorsysteem, maar deze bevonden zich in een vroeg stadium en werden geplaagd door talloze bugs. De slecht gestructureerde codebase belemmerde zowel het oplossen van bugs als de ontwikkeling van nieuwe functies. Systeemvertragingen en instabiliteit leidden tot hogere ondersteunings- en ontwikkelingskosten, wat een negatieve invloed had op de financiële prestaties. Bovendien verminderden deze problemen het concurrentievermogen en het marktaandeel van het bedrijf.

Innowise werd ingeschakeld om de omgeving te stabiliseren, bestaande bugs op te lossen en het systeem voor te bereiden op toekomstige uitbreidingen en schaalvergroting.

Oplossing

Implementeren van uitgebreide oplossingen voor bugs, refactoring van het systeem en geautomatiseerde implementatie om de efficiëntie te verbeteren

Innowise pakte de uitdagingen aan door bugs te repareren aan zowel de backend als de frontend. We herstructureerden de codebase, creëerden nieuwe microservices om de modulariteit te verbeteren en migreerden de database van PostgreSQL naar AWS DynamoDB om de schaalbaarheid te verbeteren en de kosten te verlagen. Ons team implementeerde ook CI/CD pipelines om de implementatie te automatiseren en de kwaliteit van de code te garanderen. Daarnaast waren we verantwoordelijk voor het automatiseren van de implementatie en het versiebeheer van de infrastructuur met behulp van Terraform.

Bugs repareren en testen

Eerst hebben we kritieke bugs aangepakt die de prestaties en betrouwbaarheid van het systeem beïnvloedden. Tegelijkertijd ontwikkelde ons team uitgebreide unit- en integratietests om de functionaliteit van zowel nieuwe als bestaande functies te controleren. Deze rigoureuze tests stelden ons in staat om potentiële problemen in een vroeg stadium te identificeren en aan te pakken, waardoor we een eindproduct van hoge kwaliteit konden garanderen.

Code refactoring

De bestaande codebase was ongestructureerd en volgde de PEP-8-standaarden en clean architecture-principes niet, waardoor het moeilijk was om ermee te werken. Ons team heeft de code systematisch geherformuleerd, in lijn gebracht met de PEP-8 richtlijnen en de algehele structuur verbeterd. Dit proces omvatte het opschonen van de code, het optimaliseren van functies, het zorgen voor consistentie en het naleven van SOLID-principes.

Documentatie

Ons team creëerde gedetailleerde technische documentatie voor de bestaande codebase, nieuwe functies, microservices en implementatieprocessen. Deze uitgebreide documentatie stelde huidige en toekomstige ontwikkelaars in staat om het systeem beter te begrijpen en droeg bij aan een soepeler onboarding en kennisoverdracht.

Ontwikkeling van microservices

Naast het stabiliseren van het bestaande babyademhalingsmonitorsysteem, ontwikkelden we nieuwe microservices met behulp van een containerisatieplatform zoals Docker en orkestreerden we deze met behulp van Kubernetes. Dit verbeterde de modulariteit en schaalbaarheid, waardoor individuele services onafhankelijk kunnen worden ingezet en geschaald.

Elke microservice, zoals de adempatroonanalysemodule of de alarmmeldingsservice, was ontworpen om specifieke taken uit te voeren en met elkaar te communiceren via lichtgewicht RESTful API-protocollen. Deze architectuur verbeterde de algehele efficiëntie, prestaties en fouttolerantie van het systeem, omdat individuele services konden worden bijgewerkt of vervangen zonder het hele systeem te beïnvloeden.

Databasemigratie

Onze experts beheerden de migratie van PostgreSQL naar AWS DynamoDB om te profiteren van de schaalbaarheid, prestaties, kosteneffectiviteit en flexibele datamodelleringsmogelijkheden. Deze overgang omvatte een nauwgezet proces van dataschema's herontwerpen om op één lijn te komen met DynamoDB's niet-relationele structuur, zorgvuldige datamapping en -transformatie en grondige validatie om de integriteit van de data te waarborgen.

Daarnaast hebben we query patronen en indexeringsstrategieën geoptimaliseerd om DynamoDB's prestatiemogelijkheden te maximaliseren voor de specifieke toegangspatronen van het baby breathing monitor systeem.

CI/CD-implementatie

We implementeerden pijplijnen voor continue integratie en continue implementatie (CI/CD) met behulp van Jenkins en GitLab CI om de bouw-, test- en implementatieprocessen te automatiseren. Dit stroomlijnde ontwikkelingsworkflows en zorgde voor snelle feedbackloops. Daarnaast gebruikten we Terraform om onze cloudinfrastructuur als code te definiëren en te beheren. Dit stelde ons in staat om resources efficiënt in te richten en te schalen, infrastructuurconsistentie tussen omgevingen te behouden en wijzigingen bij te houden via versiebeheer.

We integreerden ook geautomatiseerde testframeworks in onze CI/CD-pijplijnen om de kwaliteit van de code en de stabiliteit van de applicatie te garanderen voordat deze werd geïmplementeerd. Deze naadloze combinatie van CI/CD-praktijken en IaC verminderde handmatige interventie aanzienlijk, minimaliseerde fouten en versnelde releasecycli, wat resulteerde in een robuuster en betrouwbaarder babyademmonitorsysteem.

Technologieën

JavaScript (React, TypeScript), Redux

AWS, Lambda, SQS, SNS, SES, IoT Core, Timestream, Cognito, DynamoDB

VCS

Git, GitLab

Hulpmiddelen

Material-UI, FastAPI, Tortoise ORM, boto3

Proces

We begonnen met een ontdekkingsfase, waarbij we eerste gesprekken voerden met de belanghebbenden van het bedrijf om hun pijnpunten en vereisten grondig te begrijpen. Onze bedrijfsanalisten stelden vervolgens een uitgebreid document op waarin de belangrijkste verbeteringen werden beschreven en de technische haalbaarheid van de voorgestelde oplossing werd gewaarborgd.

Met de eisen van de klant duidelijk gedocumenteerd, begon het Innowise ontwikkelteam aan de softwareontwikkelingsproces. Met behulp van de Scrum-methodologie organiseerden we ons werk in sprints van twee weken om regelmatige vooruitgang en aanpassingsvermogen te behouden. We hielden driewekelijkse vergaderingen om kritieke problemen aan te pakken en voor effectieve coördinatie te zorgen. Daarnaast voerde de projectmanager wekelijkse gesprekken om de klant op de hoogte te houden van de voortgang van de ontwikkeling en om feedback te verzamelen, zodat we onze aanpak voortdurend konden verfijnen.

Team

1

Project Manager

1

Bedrijfs-analist

2

Full-Stack Ontwikkelaars

1

Manual QA Engineer

1

QA Automation Engineer

Expected results

The implementation of the project leds to a significant improvement in system stability and reliability, resulting in increased user satisfaction and enhanced brand trust. The optimized architecture and rewritten codebase simplifies further development and support, reducing development costs.

Migrating to a higher-performing database and introducing microservices provides flexibility and scalability, enabling a faster response to user growth. Automating testing and deployment also cuts down the time it takes to release updates, speeding up the launch of new features.

Duur van het project
  • Juni 2022 - september 2023

25%

verlaging van ontwikkelingskosten

15%

increase in solution performance
*The expected results outlined in this section are examples of what can be achieved with such solutions. These results do not pertain to a specific project and do not reflect the actual outcomes of the described case.

    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