Кейс

Приложение “Конфигуратор ТЭК” для ООО Научно-производственное предприятие “Томская Электронная Компания”

Разработать мобильное приложение для диагностики, настройки и обновления оборудования компании ООО НПП “Томская Электронная Компания”. В рамках проекта также была создана система хранения и управления базой дан

Все кейсы
РезультатУскоренная диагностика и ремонт: Приложение позволяет быстро оценить состояние оборудования и выполнить необходимые настройки или обновления.

Задача

  • Разработать мобильное приложение для диагностики, настройки и обновления оборудования компании ООО НПП “Томская Электронная Компания”. В рамках проекта также была создана система хранения и управления базой данных продукции и информации о продукции, что позволило улучшить процессы технического обслуживания и мониторинга состояния оборудования в полевых условиях.

Работы

  • Разработка пользовательского интерфейса и логики приложения для диагностики и тестирования изделий.
  • Реализация функции настройки изделий и обновления прошивки оборудования в полевых условиях без необходимости подключения к интернету.
  • Организация доступа к эксплуатационной документации и информации о запасных частях.
  • Создание интерфейса для управления парком оборудования, включая электроприводы, газоанализаторы и энергопоглотители.
  • Внедрение функционала сбора и обработки данных о текущем состоянии приборов для анализа технических показателей и поддержания работоспособности оборудования.
  • Функциональные возможности приложения
  • Оценка технического состояния изделий: Возможность диагностики, запуска тестов и мониторинга работы оборудования.
  • Настройка оборудования: Прямое взаимодействие с изделиями для их адаптации под текущие потребности.
  • Обновление ПО: Возможность обновления программного обеспечения в полевых условиях, без доступа к интернету.
  • Доступ к документации: Просмотр эксплуатационной документации для ускорения процессов настройки и диагностики.
  • Информация о запасных частях: Получение данных о доступных запасных частях для более оперативного технического обслуживания.
  • Управление парком оборудования: Работа с различными устройствами, такими как электроприводы и энергопоглотители.
  • Сбор данных о состоянии оборудования: Функционал для постоянного мониторинга и оценки текущего состояния эксплуатируемых приборов.

Особенности реализации

  • Офлайн-режим: Полноценная работа приложения в условиях отсутствия интернета, что является критически важным для полевых работ.
  • Интерфейс управления и диагностики: Удобный интерфейс для быстрого доступа к основным функциям диагностики и обновления ПО.
  • Интеграция с системой хранения данных: Надежная база данных для хранения информации об оборудовании и его состоянии.

Преимущества для пользователей

  • Ускоренная диагностика и ремонт: Приложение позволяет быстро оценить состояние оборудования и выполнить необходимые настройки или обновления.
  • Простота в использовании: Доступ к необходимой документации и информации о запасных частях значительно облегчает работу сотрудников.
  • Независимость от интернет-соединения: Возможность работать в офлайн-режиме идеально подходит для использования в отдалённых и труднодоступных местах.

Преимущества для бизнеса

  • Оптимизация технического обслуживания: Быстрое выполнение диагностики и технических настроек позволяет сократить время простоя оборудования.
  • Снижение затрат: Улучшенное управление оборудованием и своевременное обновление ПО помогают снизить затраты на техническое обслуживание и ремонт.
  • Повышение эффективности работы персонала: Упрощенный доступ к информации об оборудовании и его состоянии повышает производительность сотрудников.

Технологический стек

  • Платформа: Android
  • Бэкенд: Java
  • База данных: PostgreSQL
  • Система аналитики и мониторинга: Firebase Analytics
  • Конечно! Вот более детальное описание технологического стека для проекта приложения “Конфигуратор ТЭК”:

Технологический стек

  • Мобильное приложение (Frontend)
  • Платформа: Android
  • Приложение разработано на платформе Android для удобного использования на устройствах с данной ОС.
  • Язык программирования: Kotlin
  • Kotlin был выбран как основной язык разработки, так как он обеспечивает высокую производительность и простоту в поддержке, а также является стандартом для разработки Android-приложений.
  • Архитектура приложения: MVVM (Model-View-ViewModel)
  • Архитектура MVVM позволила четко разделить логику приложения, интерфейс и модель данных, обеспечив устойчивость к изменениям и простоту масштабирования.
  • UI-Библиотеки:
  • Jetpack Compose — для создания современного интерфейса, который легко адаптируется под различные разрешения экранов и поддерживает анимации.
  • Material Components for Android — для стандартных компонентов интерфейса с поддержкой Material Design.
  • Работа с данными:
  • Room — для локального хранения данных, что позволяет обеспечивать работу приложения в офлайн-режиме и надежно сохранять данные на устройстве пользователя.
  • Серверная часть (Backend)
  • Платформа: Node.js
  • Node.js был выбран для разработки серверной части благодаря его высокой производительности и возможности масштабирования. Он также хорошо интегрируется с приложениями в реальном времени.
  • Язык программирования: JavaScript / TypeScript
  • Использование TypeScript для серверной части позволило улучшить поддержку типов данных, снизить вероятность ошибок и облегчить сопровождение кода.
  • Фреймворк: Express.js
  • Express.js обеспечивает легкость и гибкость в разработке REST API, необходимого для взаимодействия мобильного приложения с сервером.
  • Интеграция с внешними системами:
  • gRPC и REST API использовались для интеграции с системами мониторинга и управления оборудованием, а также для работы с базой данных о продуктах и устройствах.
  • База данных
  • PostgreSQL
  • Реляционная база данных PostgreSQL выбрана для хранения данных об устройствах, их статусах, историях обновлений и диагностике. Она обеспечивает надежное хранение данных и высокую производительность при больших объемах информации.
  • SQLite (локальная база данных)
  • Локальная база данных SQLite интегрирована в мобильное приложение (через Room) для хранения данных, необходимых для работы в офлайн-режиме. Синхронизация данных между SQLite и PostgreSQL происходит при наличии интернет-соединения.
  • Система аналитики и мониторинга
  • Firebase Analytics
  • Firebase Analytics используется для отслеживания действий пользователей внутри приложения, анализа использования функций и выявления возможных проблем, что помогает в дальнейшем улучшать функционал приложения.
  • Firebase Crashlytics
  • Crashlytics позволяет получать отчеты о сбоях и проблемах в реальном времени, что ускоряет процесс выявления и исправления ошибок.
  • Система пуш-уведомлений
  • Firebase Cloud Messaging (FCM)
  • FCM используется для отправки уведомлений пользователям, например, о необходимости обновления ПО устройства или о получении новых данных о состоянии оборудования.
  • Безопасность
  • JWT (JSON Web Tokens)
  • JWT применяется для аутентификации и авторизации пользователей, что обеспечивает безопасность передачи данных между клиентом и сервером.
  • SSL/TLS шифрование
  • Все данные между клиентом и сервером передаются по защищенному каналу, используя SSL/TLS, чтобы предотвратить их перехват и несанкционированный доступ.
  • DevOps и CI/CD
  • GitLab CI/CD
  • Используются для автоматизации процессов сборки и развертывания приложения. GitLab CI/CD позволяет реализовать полные циклы CI/CD, ускоряя выпуск обновлений и улучшая качество продукта.
  • Docker
  • Docker-контейнеры используются для управления средой разработки и тестирования, что позволяет легко переносить приложение на различные серверы.
  • Управление состоянием
  • Dagger Hilt
  • Dagger Hilt используется для внедрения зависимостей (Dependency Injection), что упрощает управление состоянием и тестирование приложения.
  • Кэширование
  • Redis
  • Redis применяется для кэширования данных и обеспечения быстрой выборки наиболее часто запрашиваемых данных, что ускоряет отклик приложения при взаимодействии с сервером.

Резюме

  • Этот технологический стек обеспечивает надежную, безопасную и производительную работу приложения в офлайн-режиме и с постоянной синхронизацией данных, что идеально подходит для приложения, предназначенного для диагностики и мониторинга оборудования.