Cybex SensorSafe: Bluetooth appka pro bezpečí vašich dětí

Bezpečnost je u dětí vždy na prvním místě. Díky moderním technologiím můžeme automaticky monitorovat bezpečí dětí v autě.

Cybex se rozhodl využít automatický monitoring ve svých autosedačkách a přišel za námi, abychom mu pomohli vytvořit moderní a funkční aplikaci pro rodiče. Aplikaci, která se připojí k senzorům autosedačky a rodičům pošle upozornění na mobil, pokud se objeví potenciální újma nebo nepohodlí.

bonami logo
Martin Homolka - CO-Founder

„Cookielab je softwarová agentura, která pomáhá firmám a startupům budovat velké věci.

Pomohli jsme Cybexu vyvinout mobilní aplikaci SensorSafe, která zachraňuje životy. Zapojujeme se do projektů v různých fázích, pomáháme nejen s vývojem, ale také s řízením, invencí, dlouhodobou údržbou. Mluvíme o dlouhodobém partnerství.“

Martin Homolka

Co-founder Cookielab

Android

Pro konzistentní zpracování asynchronně příchozích vstupních dat (např. Bluetooth, uživatelé nebo systémové změny) jsme použili koncept reaktivního programování (ReactiveX). To nám umožnilo vytvořit jasně definovaná schémata a procesy, kterými systém reaguje na danou sekvenci vstupů.

Dále jsme vytvořili strukturu nad knihovnou RxAndroidBLe, která řeší problémy různých zařízení Android a spravuje připojení mezi nimi.

iOS

Drželi jsme jádro aplikace co nejjednodušší, s minimální závislostí na knihovnách třetích stran. Spoléháme na Swift 5, CoreBluetooth, GRDB a naši vlastní knihovnu testování CoreBluetooth.

Komunikace se serverem je implementována prostřednictvím klienta Apollo GraphQL a uživatelské rozhraní se skládá z architektury UIKit a CleanSwift.

Technická výzva

Naším cílem bylo navrhnout mobilní aplikaci pro senzory autosedaček. Dále zajistit celý vývoj a zaručit bezproblémovou funkčnost s různým hardwarem na globálních trzích. Největší výzvou však bylo zajistit bezchybnou komunikaci na všech platformách a mobilních zařízeních.

Odlišnost Bluetooth připojení na zařízeních od různých výrobců byla největší problém, protože ačkoliv Android poskytuje jednotné API, samotná zařízení mají různá schémata. Další výzvou byla udržitelnost a škálovatelnost komplexního projektu.

Použité technologie

iOS

EventSourcing-like hybrid architecture

Swift 5

CoreBluetooth

UIKit

Apollo iOS GraphQL client

GRDB

Android

Graphql (Apollo)

Reactive X (RxJava)

RxBleAndroid

Event sourcing, Protobuf

Firebase (Crashlytics, in-app messaging, cloud messaging)

Lottie, Dagger, Room

Backend

Infrastructure: AWS, Kubernetes (EKS), Terraform, auto scaling

Microservice architecture (graphql, auth over JWT)

Typescript and nodejs, Postgresql

Řešení

Pro tento projekt jsme sestavili sedmi členný produktový tým, který se postaral o vývoj, návrh a testování klientské aplikace. Hledali jsme platformu, která by nám pomohla s vývojem, dala se snadno odladit a hlavně byla spolehlivá.

Nakonec jsme přišli s unikátním řešením inspirovaným EventSourcingem, které tvoří páteř hybridní architektury. Díky tomu jsme schopni doladit a případně debugovat i ty nejexotičtější staty způsobené rozdíly v hardwaru, verzemi OS a různými podmínkami v terénu.

Výsledky

V nejnovější verzi jsme kompletně přepracovali aplikaci a využili potenciálu event sourcingu, který je přizpůsobený právě pro mobilní prostředí. To nám dalo možnost efektivně psát testovatelný kód a snadno implementovat změny funkčnosti.

Největší výhodou však je, že sourcing událostí nám dává možnost reprodukovat přesné chování aplikace na uživatelské úrovni a efektivně odhalovat a opravovat případné chyby. A to včetně dokončení regresních testů v budoucnu.

Mobilní aplikaci používá přes 500 tisíc spokojených uživatelů a aplikaci dále vylepšujeme.

Další krok

Současně s tím, jak výrobce hardwaru vylepšuje senzory, vylepšujeme také klientskou aplikaci. V první polovině roku 2021 jsme zveřejnili novou verzi, která se připojuje přímo k senzoru bez OBD, což znamená větší pohodlí pro zákazníky.

Software Development hero image - monitor

Co nás baví nejvíc

Kromě hlavního poslání aplikace udržovat děti v bezpečí a zdraví oceňujeme spolupráci s mezinárodním týmem klienta, i když časový rozdíl USA x Evropa někdy hrály proti nám. :) 

Další skvělá věc na projektu je volnost a možnost být kreativní – od počátečních specifikací přes wireframy, návrhy, vývoj a údržbu. Důvěra, kterou do nás Cybex vložil, je něco, za co jsme super vděční.

nebo
...vaši kariéru
Otevřené pozice

Kliknutím na „Přijmout“ souhlasíte s ukládáním souborů cookie na vašem zařízení za účelem zlepšení webu, analýzy a podpory našeho marketingového úsilí. Další informace naleznete v našich Privacy Policy.