Všechny případové studie
IoT Mobile BLE

Cybex: 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ě.

500 000+ — Spokojených uživatelů
7 lidí — Velikost týmu
Event Sourcing — Architektura
iOS & Android — Platformy
Mobilní aplikace Cybex SensorSafe a monitoring dětské autosedačky
Odvětví
Bezpečnost dětí / Automobilový IoT
Spolupráce
Víceleté partnerství
Služby
Vývoj softwaru
Technologie
14  technologií

Produkt

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í.

Martin Homolka

„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.

Vývojářský workspace projektu Cybex SensorSafe

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
Obrazovka onboardingu aplikace Cybex SensorSafe
Obrazovka monitoringu bezpečí dítěte v aplikaci Cybex SensorSafe
Obrazovka upozornění aplikace Cybex SensorSafe

Ř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ší státy 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.

Přímé připojení k senzoru Cybex SensorSafe

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í.

Ilustrace vývoje softwaru

Pojďme probrat váš byznys…

nebo

…vaši kariéru

Otevřené pozice