Welltot - безперервна біосенсорика
Page head bg

Welltot - безперервна біосенсорика

Розробка серверної частини мобільного додатку для безперервного моніторингу температури тіла

Індустрія: Діджитал
Категорія: Веб-сервіси
Сайт:  welltot.com

Система зчитує показання відповідно до заданого інтервалу з датчика, що закріплений на тілі, і заносить дані показання до бази даних. Користувач може спостерігати за температурою в режимі реального часу, налаштовувати сповіщення про підвищення температури, додавати інших членів сім'ї до акаунту та ділитися даними.

Додаток для iOS та Android
Додаток для iOS та Android
Натільний датчик температури
Натільний датчик температури
Безперервний моніторинг
Безперервний моніторинг
Подключение датчика
Подключение датчика

Задача

Нашим завданням було розроблення серверної частини з масштабованою архітектурою і запасом міцності в пікових навантаженнях. У рамках цього завдання було реалізовано кілька цікавих завдань.

API для мобільних додатків

У клієнта вже був готовий MVP на node.js, тому ми не стали міняти стек, оскільки він чудово підходив для вирішення задачі. Проєкт було повністю переведено на TypeScript, переписано і доопрацьовано наявні модулі, розроблено нові.

Важливою вимогою була повнота й актуальність документації до API, оскільки роботу над мобільним додатком вела інша команда і необхідно було забезпечити комфортну взаємодію. Для цього було впроваджено механізм генерації документації з коду. Таким чином, при внесенні змін до вихідного коду, завжди зберігається актуальність документації та повнота опису методів.

Для зручності тестування і розробки було налаштовано кілька оточень, щоб команда мобільного застосунку могла зручно вести розробку, а клієнт у будь-який час проводити презентації бізнес-партнерам.

Масштабована архітектура

Застосунок перебуває в надійній та перевіреній часом хмарі — Amazon Web Services.

Backend являє собою безліч мікросервісів, що виконують кожен своє завдання. Для обробки великої кількості запитів і автоматичного масштабування в міру зростання проєкту ми вибрали AWS Lambda як оточення для запуску функцій. Рішення від Amazon дає змогу не перейматися налаштуванням і підтримкою серверів і зосередиться на бізнес-завданнях.

Текущие и прошлые показания
Текущие и прошлые показания
Настройка уведомлений
Настройка уведомлений

Надійність

Для забезпечення надійності рішення застосовано всі доступні механізми AWS і налаштовано резервне копіювання.

Відмовостійкість

  • Реплікація баз даних у кількох регіонах
  • Реплікація пошукового індексу в декількох регіонах
  • Автоматичне горизонтальне масштабування за допомогою Lambda-функцій

Резервне копіювання

Незважаючи на виконані заходи щодо забезпечення безперебійної роботи, завжди залишається ризик виникнення позаштатної ситуації.

Для цього було налаштовано резервне копіювання критичних даних і механізми відновлення.

Централізований системний журнал

Для швидкого і зручного аналізу помилок та інших ситуацій, було налаштовано централізоване сховище логів і забезпечено доставку логів з усіх мікросервісів. Для входу та розподілу доступу було налаштовано єдиний SSO та реалізовано власний Identity Provider, який використовується і в інших сервісах компанії.

Система моніторингу

Налаштовано життєво важливі метрики для відстеження стану системи.

Покриття тестами

Проєкт на 100% покритий автоматичними тестами, що забезпечує високий рівень якості та допомагає уникнути критичних помилок ще на етапі розробки.

Адміністративний інтерфейс

Для управління акаунтами, користувачами, пристроями та іншими елементами системи розроблено адміністративний інтерфейс на React. Швидкий, зручний, адаптивний.

Устройства и пользователи
Устройства и пользователи
Профиль пользователя
Профиль пользователя

Результат

Проєкт продовжує розвиватися і готується до виходу на ринки США та Європи. А ми продовжуємо забезпечувати технічну підтримку, додаємо новий функціонал і покращуємо наявний.

Docum — управління документацією

Розробка інтерактивного інструменту для створення та управління внутрішньою документацією компанії
Індустрія: Діджитал
Категорія: Веб-сервіси
Telegram
Facebook Messenger

Зворотний дзвінок

Виникла помилка під час надсилання запиту. Спробуйте ще раз

Заявку надіслано

Ми зв'яжемося з вами найближчим часом для обговорення деталей Вашого проекту