Opgradering af vejrtrækningsmonitorsystem til babyer: 25% reduktion i udviklingsomkostninger

Innowise har opgraderet en platform til overvågning af babyers vejrtrækning betydeligt og forberedt systemet til udvidelser af funktionssæt og skalering.

Kunde

Region
USA
Kunde siden
2022

Kunden er en global leder inden for højteknologi og forbrugerelektronik med over 50.000 ansatte på 9 fabrikker verden over. De fremstiller en bred vifte af produkter, herunder husholdningsapparater, tv-udstyr, personlige computere, mobile enheder og komponenter til telekommunikations- og datakommunikationsindustrien.

Virksomheden har en specialiseret afdeling, der er dedikeret til sundhedsudstyr til babyer. Denne afdeling fokuserer på at skabe innovative produkter som f.eks. vejrtrækningsmonitorer, videobabyalarmer og drømmere, der er designet til at overvåge spædbørns vejrtrækningsmønstre og forbedre deres søvn. Forældre kan få adgang til vigtig sundhedsovervågning og -støtte via web- og mobilapplikationer.

Detaljerede oplysninger om klienten kan ikke videregives i henhold til bestemmelserne i NDA.

Udfordring

At overvinde ustabilitet og dårlig kodestruktur i en tidlig fase af applikationen

Kunden havde mobil- og webapplikationer til deres system til overvågning af babyers vejrtrækning, men de var i en tidlig fase og plaget af mange fejl. Den dårligt strukturerede kodebase forhindrede både fejlrettelser og udvikling af nye funktioner. Systemforsinkelser og ustabilitet førte til øgede support- og udviklingsomkostninger, hvilket påvirkede de økonomiske resultater negativt. Derudover mindskede disse problemer virksomhedens konkurrenceevne og markedsandel.

Innowise blev hyret til at stabilisere miljøet, løse eksisterende fejl og forberede systemet til fremtidige funktionsudvidelser og skalering.

Løsning

Implementering af omfattende fejlrettelse, systemrefaktorisering og automatiseret implementering for at forbedre effektiviteten

Innowise løste udfordringerne ved at rette fejl i både backend og frontend. Vi omstrukturerede kodebasen, skabte nye mikrotjenester for at forbedre modulariteten og migrerede databasen fra PostgreSQL til AWS DynamoDB for at forbedre skalerbarheden og reducere omkostningerne. Vores team implementerede også CI/CD-pipelines for at automatisere udrulningen og sikre kodekvaliteten. Derudover var vi ansvarlige for at automatisere implementering og infrastrukturversionering ved hjælp af Terraform.

Bugfixing og testning

Først rettede vi kritiske fejl, der påvirkede systemets ydeevne og pålidelighed. Samtidig udviklede vores team omfattende enheds- og integrationstest for at verificere funktionaliteten af både nye og eksisterende funktioner. Denne grundige testning gjorde det muligt for os at identificere og løse potentielle problemer på et tidligt tidspunkt og sikre et slutprodukt af høj kvalitet.

Refaktorering af kode

Den eksisterende kodebase var ustruktureret og fulgte ikke PEP-8-standarderne og principperne for ren arkitektur, hvilket gjorde den svær at arbejde med. Vores team refaktoriserede systematisk koden, tilpassede den til PEP-8-retningslinjerne og forbedrede den overordnede struktur. Denne proces involverede oprydning i koden, optimering af funktioner, sikring af konsistens og overholdelse af SOLID-principperne.

Dokumentation

Vores team skabte detaljeret teknisk dokumentation for den eksisterende kodebase, nye funktioner, mikrotjenester og implementeringsprocesser. Denne omfattende dokumentation gjorde det muligt for nuværende og fremtidige udviklere at forstå systemet bedre og bidrog til en mere smidig onboarding og vidensoverførsel.

Udvikling af mikrotjenester

Ud over at stabilisere det eksisterende system til overvågning af babyers vejrtrækning udviklede vi nye mikrotjenester ved hjælp af en containeriseringsplatform som Docker og orkestrerede dem ved hjælp af Kubernetes. Det forbedrede modulariteten og skalerbarheden og gav mulighed for uafhængig implementering og skalering af individuelle tjenester.

Hver mikrotjeneste, som f.eks. analysemodulet for vejrtrækningsmønstre eller alarmnotifikationstjenesten, blev designet til at håndtere specifikke opgaver og kommunikere med hinanden via lette RESTful API-protokoller. Denne arkitektur forbedrede systemets samlede effektivitet, ydeevne og fejltolerance, da individuelle tjenester kunne opdateres eller udskiftes uden at påvirke hele systemet.

Migrering af databaser

Vores eksperter administrerede migreringen fra PostgreSQL til AWS DynamoDB for at udnytte dens skalerbarhed, ydeevne, omkostningseffektivitet og fleksible datamodelleringsfunktioner. Denne overgang involverede en omhyggelig proces med redesign af dataskemaer for at tilpasse sig DynamoDB's ikke-relationelle struktur, omhyggelig kortlægning og transformation af data og grundig validering for at sikre dataintegritet.

Derudover optimerede vi forespørgselsmønstre og indekseringsstrategier for at maksimere DynamoDB's ydeevne i forhold til de specifikke adgangsmønstre i babyåndedrætsværnssystemet.

CI/CD-implementering

Vi implementerede kontinuerlig integration og kontinuerlig udrulning (CI/CD) ved hjælp af Jenkins og GitLab CI for at automatisere bygge-, test- og udrulningsprocesserne. Dette strømlinede udviklingsarbejdsgangene og sikrede hurtige feedback-loops. Derudover brugte vi Terraform til at definere og administrere vores cloud-infrastruktur som kode. Det gjorde det muligt for os at tilvejebringe og skalere ressourcer effektivt, opretholde infrastrukturkonsistens på tværs af miljøer og spore ændringer gennem versionskontrol.

Vi integrerede også automatiserede testrammer i vores CI/CD-pipelines for at sikre kodekvalitet og applikationsstabilitet før udrulning. Denne sømløse kombination af CI/CD-praksis og IaC reducerede manuel indgriben betydeligt, minimerede fejl og fremskyndede udgivelsescyklusser, hvilket resulterede i et mere robust og pålideligt vejrtrækningsmonitorsystem til babyer.

Teknologier

JavaScript (React, TypeScript), Redux

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

VCS

Git, GitLab

Værktøjer

Material-UI, FastAPI, Tortoise ORM, boto3

Proces

Vi startede med en opdagelsesfase, hvor vi holdt indledende møder med virksomhedens interessenter for at forstå deres smertepunkter og krav grundigt. Vores forretningsanalytikere skabte derefter et omfattende dokument, der beskrev de vigtigste forbedringer og sikrede den foreslåede løsnings tekniske levedygtighed.

Med kundens krav klart dokumenteret begyndte udviklingsteamet for Innowise at arbejde med softwareudviklingsproces. Ved hjælp af Scrum-metoden organiserede vi vores arbejde i to-ugers sprints for at opretholde regelmæssige fremskridt og tilpasningsevne. Vi holdt møder hver tredje uge for at løse kritiske problemer og sikre effektiv koordinering. Derudover foretog projektlederen ugentlige opkald for at opdatere kunden om udviklingsforløbet og indsamle feedback, så vi hele tiden kunne forbedre vores tilgang.

Hold

1

Projektleder

1

Forretningsanalytiker

2

Full-Stack-udviklere

1

Manual QA Engineer

1

QA Automation Engineer

Resultater

Forbedret brugeroplevelse og markedsposition med optimeret og skalerbart system

Gennemførelsen af projektet førte til en betydelig forbedring af systemets stabilitet og pålidelighed, hvilket resulterede i øget brugertilfredshed og større tillid til brandet. Den optimerede arkitektur og omskrevne kodebase forenklede den videre udvikling og support og reducerede udviklingsomkostningerne med 25%. 

Migrering til en bedre fungerende database og introduktion af mikrotjenester gav fleksibilitet og skalerbarhed, så man hurtigere kunne reagere på brugervækst. Automatisering af test og implementering reducerer også den tid, det tager at frigive opdateringer, og fremskynder lanceringen af nye funktioner.

Som følge heraf styrkede kunden sin position på markedet for udstyr til spædbørnspleje med en forbedret løsning og opnåede en stigning i markedsandelen på 15%.

Projektets varighed
  • Juni 2022 - september 2023

25%

reduktion i udviklingsomkostninger

15%

øget markedsandel

    Kontakt os

    Book et opkald eller udfyld formularen nedenfor, så vender vi tilbage til dig, når vi har behandlet din anmodning.

    Send os en talebesked
    Vedhæft dokumenter
    Upload fil

    Du kan vedhæfte 1 fil på op til 2 MB. Gyldige filformater: pdf, jpg, jpeg, png.

    Ved at klikke på Send accepterer du, at Innowise behandler dine personlige data i henhold til vores Politik for beskyttelse af personlige oplysninger for at give dig relevante oplysninger. Ved at indsende dit telefonnummer accepterer du, at vi kan kontakte dig via taleopkald, sms og beskedapps. Opkalds-, besked- og datatakster kan være gældende.

    Du kan også sende os din anmodning
    til contact@innowise.com

    Hvad sker der nu?

    1

    Når vi har modtaget og behandlet din anmodning, vender vi tilbage til dig for at beskrive dine projektbehov og underskriver en NDA for at sikre fortrolighed.

    2

    Når vi har undersøgt dine ønsker, behov og forventninger, udarbejder vores team et projektforslag med forslag med arbejdets omfang, teamstørrelse, tids- og omkostningsoverslag.

    3

    Vi arrangerer et møde med dig for at diskutere tilbuddet og få detaljerne på plads.

    4

    Til sidst underskriver vi en kontrakt og begynder at arbejde på dit projekt med det samme.

    pil