РезультатУскоренная диагностика и ремонт: Приложение позволяет быстро оценить состояние оборудования и выполнить необходимые настройки или обновления.
Задача
- Разработать мобильное приложение для диагностики, настройки и обновления оборудования компании ООО НПП “Томская Электронная Компания”. В рамках проекта также была создана система хранения и управления базой данных продукции и информации о продукции, что позволило улучшить процессы технического обслуживания и мониторинга состояния оборудования в полевых условиях.
Работы
- Разработка пользовательского интерфейса и логики приложения для диагностики и тестирования изделий.
- Реализация функции настройки изделий и обновления прошивки оборудования в полевых условиях без необходимости подключения к интернету.
- Организация доступа к эксплуатационной документации и информации о запасных частях.
- Создание интерфейса для управления парком оборудования, включая электроприводы, газоанализаторы и энергопоглотители.
- Внедрение функционала сбора и обработки данных о текущем состоянии приборов для анализа технических показателей и поддержания работоспособности оборудования.
- Функциональные возможности приложения
- Оценка технического состояния изделий: Возможность диагностики, запуска тестов и мониторинга работы оборудования.
- Настройка оборудования: Прямое взаимодействие с изделиями для их адаптации под текущие потребности.
- Обновление ПО: Возможность обновления программного обеспечения в полевых условиях, без доступа к интернету.
- Доступ к документации: Просмотр эксплуатационной документации для ускорения процессов настройки и диагностики.
- Информация о запасных частях: Получение данных о доступных запасных частях для более оперативного технического обслуживания.
- Управление парком оборудования: Работа с различными устройствами, такими как электроприводы и энергопоглотители.
- Сбор данных о состоянии оборудования: Функционал для постоянного мониторинга и оценки текущего состояния эксплуатируемых приборов.
Особенности реализации
- Офлайн-режим: Полноценная работа приложения в условиях отсутствия интернета, что является критически важным для полевых работ.
- Интерфейс управления и диагностики: Удобный интерфейс для быстрого доступа к основным функциям диагностики и обновления ПО.
- Интеграция с системой хранения данных: Надежная база данных для хранения информации об оборудовании и его состоянии.
Преимущества для пользователей
- Ускоренная диагностика и ремонт: Приложение позволяет быстро оценить состояние оборудования и выполнить необходимые настройки или обновления.
- Простота в использовании: Доступ к необходимой документации и информации о запасных частях значительно облегчает работу сотрудников.
- Независимость от интернет-соединения: Возможность работать в офлайн-режиме идеально подходит для использования в отдалённых и труднодоступных местах.
Преимущества для бизнеса
- Оптимизация технического обслуживания: Быстрое выполнение диагностики и технических настроек позволяет сократить время простоя оборудования.
- Снижение затрат: Улучшенное управление оборудованием и своевременное обновление ПО помогают снизить затраты на техническое обслуживание и ремонт.
- Повышение эффективности работы персонала: Упрощенный доступ к информации об оборудовании и его состоянии повышает производительность сотрудников.
Технологический стек
- Платформа: 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 применяется для кэширования данных и обеспечения быстрой выборки наиболее часто запрашиваемых данных, что ускоряет отклик приложения при взаимодействии с сервером.
Резюме
- Этот технологический стек обеспечивает надежную, безопасную и производительную работу приложения в офлайн-режиме и с постоянной синхронизацией данных, что идеально подходит для приложения, предназначенного для диагностики и мониторинга оборудования.