Formularz został pomyślnie przesłany.
Więcej informacji można znaleźć w skrzynce pocztowej.


Innowise znacząco zmodernizował platformę monitorowania oddechu niemowląt i przygotował system do rozszerzenia zestawu funkcji i skalowania.
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.
Szczegółowe informacje o kliencie nie mogą być ujawnione zgodnie z postanowieniami NDA.
Klient posiadał aplikacje mobilne i internetowe dla swojego systemu monitorowania oddechu dziecka, ale były one na wczesnym etapie rozwoju i zawierały liczne błędy. Słabo zorganizowana baza kodu utrudniała zarówno poprawki błędów, jak i rozwój nowych funkcji. Opóźnienia i niestabilność systemu doprowadziły do zwiększenia kosztów wsparcia i rozwoju, negatywnie wpływając na wyniki finansowe. Dodatkowo, problemy te zmniejszały konkurencyjność firmy i jej udział w rynku.
Firma Innowise została zaangażowana do ustabilizowania środowiska, usunięcia istniejących błędów i przygotowania systemu do przyszłych dodatków i skalowania.
Innowise sprostał wyzwaniom, naprawiając błędy zarówno na backendzie, jak i frontendzie. Zrestrukturyzowaliśmy bazę kodu, stworzyliśmy nowe mikrousługi w celu poprawy modułowości i dokonaliśmy migracji bazy danych z PostgreSQL do AWS DynamoDB w celu poprawy skalowalności i obniżenia kosztów. Nasz zespół wdrożył również potoki CI/CD, aby zautomatyzować wdrażanie i zapewnić jakość kodu. Ponadto byliśmy odpowiedzialni za automatyzację wdrażania i wersjonowania infrastruktury przy użyciu Terraform.
W pierwszej kolejności zajęliśmy się krytycznymi błędami wpływającymi na wydajność i niezawodność systemu. Jednocześnie nasz zespół opracował kompleksowe testy jednostkowe i integracyjne, aby zweryfikować funkcjonalność zarówno nowych, jak i istniejących funkcji. Te rygorystyczne testy pozwoliły nam zidentyfikować i rozwiązać potencjalne problemy na wczesnym etapie, zapewniając wysoką jakość produktu końcowego.
Istniejąca baza kodu była nieuporządkowana i niezgodna ze standardami PEP-8 i zasadami czystej architektury, co utrudniało pracę. Nasz zespół systematycznie refaktoryzował kod, dostosowując go do wytycznych PEP-8 i poprawiając jego ogólną strukturę. Proces ten obejmował czyszczenie kodu, optymalizację funkcji, zapewnienie spójności i przestrzeganie zasad SOLID.
Nasz zespół stworzył szczegółową dokumentację techniczną dla istniejącej bazy kodu, nowych funkcji, mikrousług i procesów wdrażania. Ta kompleksowa dokumentacja umożliwiła obecnym i przyszłym programistom lepsze zrozumienie systemu i przyczyniła się do płynniejszego wdrażania i transferu wiedzy.
Oprócz ustabilizowania istniejącego systemu monitorowania oddechu dziecka, opracowaliśmy nowe mikrousługi wykorzystujące platformę konteneryzacji, taką jak Docker, i zorganizowaliśmy je za pomocą Kubernetes. Zwiększyło to modułowość i skalowalność, umożliwiając niezależne wdrażanie i skalowanie poszczególnych usług.
Każda mikrousługa, taka jak moduł analizy wzorców oddechowych lub usługa powiadamiania o alarmach, została zaprojektowana do obsługi określonych zadań, komunikując się ze sobą za pośrednictwem lekkich protokołów RESTful API. Taka architektura poprawiła ogólną wydajność systemu, jego wydajność i odporność na błędy, ponieważ poszczególne usługi mogły być aktualizowane lub wymieniane bez wpływu na cały system.
Nasi eksperci zarządzali migracją z PostgreSQL do AWS DynamoDB, aby wykorzystać jego skalowalność, wydajność, opłacalność i elastyczne możliwości modelowania danych. Przejście to obejmowało skrupulatny proces przeprojektowania schematu danych w celu dostosowania go do nierelacyjnej struktury DynamoDB, staranne mapowanie i transformację danych oraz dokładną walidację w celu zapewnienia integralności danych.
Dodatkowo zoptymalizowaliśmy wzorce zapytań i strategie indeksowania, aby zmaksymalizować wydajność DynamoDB dla określonych wzorców dostępu systemu monitorowania oddechu dziecka.
Wdrożyliśmy potoki ciągłej integracji i ciągłego wdrażania (CI/CD) przy użyciu Jenkins i GitLab CI w celu zautomatyzowania procesów kompilacji, testowania i wdrażania. Usprawniło to procesy deweloperskie i zapewniło szybką informację zwrotną. Dodatkowo wykorzystaliśmy Terraform do definiowania i zarządzania naszą infrastrukturą w chmurze jako kodem. Umożliwiło nam to wydajne udostępnianie i skalowanie zasobów, utrzymanie spójności infrastruktury w różnych środowiskach oraz śledzenie zmian za pomocą kontroli wersji.
Zintegrowaliśmy również zautomatyzowane struktury testowe z naszymi potokami CI/CD, aby zapewnić jakość kodu i stabilność aplikacji przed wdrożeniem. To płynne połączenie praktyk CI/CD i IaC znacznie zmniejszyło liczbę ręcznych interwencji, zminimalizowało liczbę błędów i przyspieszyło cykle wydawnicze, co zaowocowało bardziej solidnym i niezawodnym systemem monitorowania oddechu dziecka.
Rozpoczęliśmy od fazy odkrywania, przeprowadzając wstępne spotkania z interesariuszami firmy, aby dokładnie zrozumieć ich bolączki i wymagania. Nasi analitycy biznesowi stworzyli następnie kompleksowy dokument wyszczególniający kluczowe usprawnienia i zapewniający techniczną wykonalność proponowanego rozwiązania.
Mając jasno udokumentowane wymagania klienta, zespół programistów Innowise rozpoczął pracę nad projektem. proces inżynierii oprogramowania. Korzystając z metodologii Scrum, zorganizowaliśmy naszą pracę w dwutygodniowe sprinty, aby utrzymać regularny postęp i zdolność adaptacji. Odbywaliśmy spotkania co trzy tygodnie, aby zająć się krytycznymi kwestiami i zapewnić skuteczną koordynację. Dodatkowo, kierownik projektu przeprowadzał cotygodniowe rozmowy telefoniczne, aby informować klienta o postępach w rozwoju i zbierać informacje zwrotne, co pozwoliło nam stale udoskonalać nasze podejście.
1
Kierownik projektu
1
Analityk biznesowy
2
Programiści Full-Stack
1
Manual QA Engineer
1
QA Automation Engineer

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.
25%
redukcja kosztów rozwoju
15%
Wiadomość została wysłana.
Przetworzymy Twoją prośbę i skontaktujemy się z Tobą tak szybko, jak to możliwe.

Rejestrując się, wyrażasz zgodę na naszą Polityką Prywatności, w tym korzystanie z plików cookie i przekazywanie Twoich danych osobowych.