Baby breathing monitor system upgrade: optimized development costs

Innowise har oppgradert en plattform for overvåking av babypusting betydelig og forberedt systemet for utvidelse av funksjonssett og skalering.

Kunde

Region
EU
Kunde siden
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.

Detaljert informasjon om kunden kan ikke utleveres i henhold til bestemmelsene i NDA.

Utfordring

Få bukt med ustabilitet og dårlig kodestruktur i en tidlig fase av applikasjonen

Kunden hadde mobil- og nettapplikasjoner for pusteovervåkningssystemet for babyer, men disse var i en tidlig fase og plaget av en rekke feil. Den dårlig strukturerte kodebasen hindret både feilrettinger og utvikling av nye funksjoner. Systemforsinkelser og ustabilitet førte til økte support- og utviklingskostnader, noe som hadde en negativ innvirkning på de økonomiske resultatene. I tillegg reduserte disse problemene selskapets konkurranseevne og markedsandeler.

Innowise ble engasjert for å stabilisere miljøet, løse eksisterende feil og forberede systemet for fremtidige funksjonstillegg og skalering.

Løsning

Implementering av omfattende feilretting, systemomarbeiding og automatisert distribusjon for å forbedre effektiviteten

Innowise løste utfordringene ved å fikse feil på både backend og frontend. Vi restrukturerte kodebasen, opprettet nye mikrotjenester for å forbedre modulariteten, og migrerte databasen fra PostgreSQL til AWS DynamoDB for å forbedre skalerbarheten og redusere kostnadene. Teamet vårt implementerte også CI/CD-pipelines for å automatisere distribusjonen og sikre kodekvaliteten. I tillegg var vi ansvarlige for å automatisere distribusjon og versjonering av infrastruktur ved hjelp av Terraform.

Feilretting og testing

Først utbedret vi kritiske feil som påvirket systemets ytelse og pålitelighet. Samtidig utviklet teamet vårt omfattende enhets- og integrasjonstester for å verifisere funksjonaliteten til både nye og eksisterende funksjoner. Denne grundige testingen gjorde det mulig for oss å identifisere og løse potensielle problemer på et tidlig tidspunkt, noe som sikret et sluttprodukt av høy kvalitet.

Refaktorisering av kode

Den eksisterende kodebasen var ustrukturert og fulgte ikke PEP-8-standardene og prinsippene for ren arkitektur, noe som gjorde den vanskelig å jobbe med. Teamet vårt refaktoriserte koden systematisk, tilpasset den til PEP-8-retningslinjene og forbedret den overordnede strukturen. Denne prosessen innebar opprydding i koden, optimalisering av funksjoner, sikring av konsistens og overholdelse av SOLID-prinsippene.

Dokumentasjon

Teamet vårt utarbeidet detaljert teknisk dokumentasjon for den eksisterende kodebasen, nye funksjoner, mikrotjenester og distribusjonsprosesser. Denne omfattende dokumentasjonen gjorde det mulig for nåværende og fremtidige utviklere å forstå systemet bedre, og bidro til en smidigere introduksjon og kunnskapsoverføring.

Utvikling av mikrotjenester

I tillegg til å stabilisere det eksisterende systemet for babypusteovervåking utviklet vi nye mikrotjenester ved hjelp av en containeriseringsplattform som Docker og orkestrerte dem ved hjelp av Kubernetes. Dette forbedret modulariteten og skalerbarheten, noe som muliggjorde uavhengig distribusjon og skalering av individuelle tjenester.

Hver mikrotjeneste, for eksempel modulen for analyse av pustemønster eller alarmvarslingstjenesten, ble utviklet for å håndtere spesifikke oppgaver og kommunisere med hverandre gjennom lette RESTful API-protokoller. Denne arkitekturen forbedret systemets generelle effektivitet, ytelse og feiltoleranse, ettersom enkelttjenester kunne oppdateres eller byttes ut uten at det påvirket hele systemet.

Migrering av databaser

Våre eksperter administrerte migreringen fra PostgreSQL til AWS DynamoDB for å utnytte skalerbarheten, ytelsen, kostnadseffektiviteten og de fleksible datamodelleringsfunksjonene. Overgangen innebar en grundig prosess med redesign av dataskjemaer for å tilpasse dem til DynamoDBs ikke-relasjonelle struktur, nøye datakartlegging og -transformasjon samt grundig validering for å sikre dataintegritet.

I tillegg optimaliserte vi spørringsmønstre og indekseringsstrategier for å maksimere DynamoDBs ytelsesevne for de spesifikke tilgangsmønstrene til babypusteovervåkningssystemet.

Implementering av CI/CD

Vi implementerte kontinuerlige integrasjons- og distribusjonsprosesser (CI/CD) ved hjelp av Jenkins og GitLab CI for å automatisere bygge-, test- og distribusjonsprosessene. Dette strømlinjeformet utviklingsarbeidsflyten og sørget for raske tilbakemeldingssløyfer. I tillegg brukte vi Terraform til å definere og administrere skyinfrastrukturen vår som kode. Dette gjorde det mulig for oss å klargjøre og skalere ressurser effektivt, opprettholde infrastrukturens konsistens på tvers av miljøer og spore endringer gjennom versjonskontroll.

Vi integrerte også rammeverk for automatisert testing i CI/CD-rørledningene våre for å sikre kodekvalitet og applikasjonsstabilitet før distribusjon. Denne sømløse kombinasjonen av CI/CD-praksis og IaC reduserte manuelle inngrep betydelig, minimerte feil og fremskyndet utgivelsessyklusene, noe som resulterte i et mer robust og pålitelig system for pustemonitorer for babyer.

Teknologier

JavaScript (React, TypeScript), Redux

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

VCS

Git, GitLab

Verktøy

Material-UI, FastAPI, Tortoise ORM, boto3

Prosess

Vi startet med en kartleggingsfase, der vi gjennomførte innledende møter med selskapets interessenter for å få en grundig forståelse av deres smertepunkter og krav. Deretter utarbeidet forretningsanalytikerne våre et omfattende dokument med detaljerte beskrivelser av de viktigste forbedringene, og de forsikret seg om at den foreslåtte løsningen var teknisk gjennomførbar.

Med kundens krav klart dokumentert, begynte Innowise-utviklingsteamet arbeidet med å programvareutviklingsprosessen. Ved hjelp av Scrum-metodikken organiserte vi arbeidet vårt i toukers sprinter for å sikre jevnlig fremdrift og tilpasningsevne. Vi avholdt møter hver tredje uke for å ta opp kritiske problemer og sikre effektiv koordinering. I tillegg gjennomførte prosjektlederen ukentlige samtaler for å oppdatere kunden om fremdriften i utviklingen og innhente tilbakemeldinger, slik at vi hele tiden kunne forbedre tilnærmingen vår.

Team

1

Prosjekt-leder

1

Business Analyst

2

Fullstack-utviklere

1

Håndbok for kvalitets- sikringsingeniør

1

Ingeniør for kvalitetssikring av automatisering

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.

Prosjektets varighet
  • Juni 2022 - september 2023

25%

reduksjon i utviklingskostnader

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.

    Kontakt oss

    Bestill en samtale eller fyll ut skjemaet nedenfor, så kontakter vi deg når vi har behandlet forespørselen din.

    Send oss en talemelding
    Legg ved dokumenter
    Last opp fil

    Du kan legge ved én fil på opptil 2 MB. Gyldige filformater: pdf, jpg, jpeg, png.

    Ved å klikke på Send, samtykker du til at Innowise behandler dine personopplysninger i henhold til våre Retningslinjer for personvern for å gi deg relevant informasjon. Ved å oppgi telefonnummeret ditt samtykker du i at vi kan kontakte deg via taleanrop, SMS og meldingsapper. Priser for samtaler, meldinger og data kan gjelde.

    Du kan også sende oss en forespørsel
    til contact@innowise.com
    Hva skjer videre?
    1

    Når vi har mottatt og behandlet forespørselen din, tar vi kontakt med deg for å beskrive prosjektbehov og signerer en taushetserklæring for å sikre konfidensialitet.

    2

    Etter å ha undersøkt dine ønsker, behov og forventninger, utarbeider teamet vårt et prosjektforslag forslag med arbeidsomfang, teamstørrelse, tids- og kostnadsestimater.

    3

    Vi avtaler et møte med deg for å diskutere tilbudet og spikre detaljene.

    4

    Til slutt signerer vi en kontrakt og begynner å jobbe med prosjektet ditt med en gang.

    pil