Разработка системы для организации учета инцидентов на предприятиях

Специалисты отдела мобильной разработки ГК «СофтЭксперт» создали мобильное приложение и его веб-версию для клиента, который по договору аутсорсинга оказывает услуги учета инцидентов на предприятиях разного типа. Приложение позволило автоматизировать процесс, систематизировать информацию по внештатным ситуациям и сохранять историю взаимодействия для удобства работы с инцидентами.
Клиент
Компания заказчика оказывает услуги по контролю внештатных ситуаций и учету инцидентов на объектах разного типа. В обязанности компании входит сбор информации об инциденте, передача ее ответственному лицу (проверяющему), а также обеспечение возможности доступа к истории отработки зафиксированной внештатной ситуации (комментарии, статус ситуации).

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

Цели и задачи проекта
Цель — автоматизация системы контроля и учета внештатных ситуаций и инцидентов для отладки работы компании заказчика.
Задачи:
разработать мобильное приложение для пользователя, позволяющее вносить информацию о нарушениях;
разработать веб-версию приложения для обеспечения удобства доступа на разных предприятиях;
настроить авторизацию для разграничения уровней доступа (администратор, оператор, проверяющий).

Технологический стек
Для разработки кроссплатформенного мобильного приложения предложили современное решение на фреймворке Flutter. React Native для создания удобной административной части и ASP. NET Core MVC для серверной части продукта.
Решение
Учитывая, что приложение будет использоваться во время внештатных ситуаций для фиксации инцидентов на производстве, мы приняли решение создать простое и понятное приложение с минимальным количеством экранов и управляющих элементов.
В рамках реализации поставленных задач были разработаны и отрисованы:
  1. Экран авторизации с разными уровнями доступа в приложение.
  2. Главная страница со списком инцидентов и возможностью сортировки с помощью фильтров для быстрого поиска.
  3. наладить эффективную онлайн-коммуникацию с целевой аудиторией;
Для систематизации обратной связи создали чат, который относится к конкретному инциденту и позволяет получить дополнительную информацию, уточнить детали и статус. Настроили понятную систему статусов инцидентов с цветовой схемой для наглядности: новый, в работе, завершен, отклонен. Предусмотрели возможность редактирования полей пользователя в учетной записи, систему пуш-уведомлений и механизм выгрузки информации в формате .xlsx.
Результат
Разработанный функционал позволяет создать инцидент, описать суть произошедшего, указать место происшествия, участников инцидента, приложить фото и передать информацию ответственным.
Система имеет настраиваемые права доступа для сотрудников разных подразделений с разграничением ответственности.
Пользователь создает карточку события и добавляет всю необходимую информацию в формате единого окна.
Сотрудник может оставить комментарии в карточке, вести переписку в чате конкретного события.

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

Мобильные приложения как инструмент для контроля на производстве должны отвечать высоким требованиям юзабилити и иметь хорошо продуманный сценарий использования, так как у работников нет времени разбираться в тонкостях работы. Особенно это касается приложений для учета производственных инцидентов, связанных со стрессовыми ситуациями, которые требуют быстрого реагирования. Вот почему мы рекомендуем придерживаться правила 8-11 экранов для решения конкретной задачи.
Стоимость разработки от 500 000 руб.

Мобильное приложение с функциями пульта для инновационных биокаминов

Мобильное приложение с функциями пульта для инновационных биокаминов

Специалисты отдела мобильной разработки «СофтЭксперт» создали приложение для международной компании, занимающейся производством биокаминов по собственным запатентованным технологиям и промышленным образцам.

В интерфейсе приложения отображается состояние камина (режим работы), уровень топлива, можно управлять высотой пламени (температурой нагрева испарителя), устанавливать таймер отключения, отслеживать ошибки в работе камина.Предусмотрена блокировка от детей и форма обратной связи. Специально для дизайна экранов в проекте отрисованы иконки в тематике продукта.

Клиент

«Планика» — производитель и поставщик экокаминов, которые изготовлены по инновационной технологии, не требующей дымохода, электричества или газа. Биокамины и топливо для них производятся на основе запатентованных технологий и промышленных образцов, которые разработаны самой компанией.

Ситуация до начала проекта

Клиент обратился в «СофтЭксперт», чтобы подобрать пульт для индикации параметров и управления биокамином. Пульт должен был отображать и изменять следующие параметры:

  • режим работы камина (спящий режим, заправка, розжиг, работает, гашение);
  • уровень топлива в камине;
  • высоту пламени;
  • таймер работы камина;
  • ошибки и сбои в работе камина.

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

Цели и задачи проекта

Цель — разработать мобильное приложение с функциями пульта управления системой биокамина.

Задачи проекта:
1
Разработка макетов дизайна экранов приложения.

2
Разработка протокола обмена с устройствами поверх MQTT.

3
Разработка интерфейса приложения (общий интерфейс iOS, Android).

4
Реализация протокола обмена с устройством (отдельно для iOS, Android).

Выбор технического решения

Приложение создано на платформе Xamarin.Forms, которая позволяет настроить одну единственную логику приложения с применением C# и .NET сразу для всех популярных платформ мобильных устройств (Android, iOS).

Преимущества использования Xamarin.Forms:
в процессе разработки создается единый код для всех платформ;
Xamarin предоставляет прямой доступ к нативным API каждой платформы.


В качестве протокола обмена выбран протокол MQTT. MQTT — это легкий, компактный и открытый протокол обмена данными, созданный для передачи данных для устройств с ограниченной мощностью CPU и/или временем автономной работы, где требуется небольшой размер кода, и есть ограничения по пропускной способности канала.
В качестве СУБД использована SQLite.NET, которая представляет простое ORM-решение (Object Relational Mapping) для Xamarin. Она позволяет работать с базой данных, как с хранилищем объектов, и манипулировать данными, как объектами стандартных классов C# без использования выражений на языке SQL.

Реализация проекта

С учетом обозначенных в техническом задании задач, процесс реализации проекта поделили на этапы. Разработали сценарий использования приложения, предложили несколько вариантов цветового оформления, после чего дизайнер создал макеты дизайна в выбранном серо-голубом цвете.
Отдельный блок работы был посвящен отрисовке специальных иконок и виджетов, в том числе для регулировки высоты пламени, отображения уровня топлива, запуска и отображения статуса заправки, для кнопки установки блокировки и для sleep-таймера.

Функциональные возможности

В интерфейсе приложения отображается список доступных каминов и есть виджет для добавления новых (по серийному номеру и IP-адресу). Можно настроить подключение как напрямую к камину, так и через IP-адрес роутера.
Реализован протокол сохранения в локальной базе данных мобильного приложения списка каминов, данных по настройкам каждого камина, обновление данных о каждом камине при получении этих данных, информации об ошибках.

Протокола обмена с устройствами (поверх MQTT) включает в себя:
1
Команды управления (включение/выключение, запуск розжига и гашения камина, управление температурой нагрева испарителя, переход в режим заправки, изменение имени камина, включение защиты от детей, установка таймера отключения).

2
Команды получения данных с датчиков (уровень топлива в баке, высота пламени, название и серийный номер камина, отображение текущего режима работы камина, обработка и отображение ошибок).

3
Команды управления подключением (изменение SSID и пароля, подключение камина к роутеру, отключение от роутера для работы напрямую).

Подключены всплывающие окна для подтверждения пользователем действий, информирования о работе приложения, а также сообщения об ошибках.
Отдельно для iOS и для Android реализованы команды подключения, разработаны фоновый сервис MQTT брокер (посредник), фоновый сервис MQTT клиент (подписчик) для получения данных с устройства, а также механизм публикации управляющих команд.

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

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

Стоимость разработки от 600 000 руб.

Разработка интерактивного приложения для обучения усидчивости чрезмерно активных детей

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

Клиент

Частное лицо, предприниматель из США, который занимается разработкой нестандартных решений для мониторинга различных состояний

Ситуация до начала проекта

Заказчик обратился к нам с запросом на разработку приложения для электронного устройства, работающего на основе собственной уникальной системы замера и обработки результатов, которая помогает отслеживать движения.

Цель и задачи проекта

Цель проекта — разработать интерактивное приложение для персонального носимого устройства.

Задачи:

  • Выполнить верстки экранов по предоставленным Заказчиком макетам;
  • Разработать алгоритм сбора информации c помощью технологии Bluetooth Low Energy;
  • Разработать алгоритм для интерпретации результатов мониторинга, которые приходят на устройство в соответствии с техническим заданием.
Реализация проекта
Интерактивное приложение SereneKID для персонального носимого устройства разработано на кроссплатформенном фреймворке Flutter (язык Dart). Приложение работает совместно с внешним устройством. К смартфонам устройство подключается с помощью технологии Bluetooth Low Energy. Приложение поддерживает платформы Android и iOS .
Bluetooth Low Energy (BLE) — технология Bluetooth с низким энергопотреблением, применяется в приложениях с малым энергопотреблением или в устройствах, передающих небольшие объемы данных с большими интервалами между передачами. Наиболее часто используемый протокол в устройствах IoT (Интернета Вещей).
После подключения устройства к смартфону, родитель надевает его на голову ребенка и включает через приложение интересный ему фильм, начинается 20-минутная тренировка. Устройство SereneKID отслеживает движения ребенка, устанавливает личный стандарт «надлежащего» поведения и управляет воспроизведением фильма. Когда движения вашего ребенка находятся в пределах нормы, фильм продолжается без каких-либо проблем.
Однако, если датчики Serene Kid обнаруживают слишком большую активность, экран временно гаснет, фильм приостанавливается и ненадолго лишает ребенка удовольствия от просмотра. Эти сеансы длятся по 20 минут, и их рекомендуют производить ежедневно. Согласно опросу, проведенному в США, (https://www.pewresearch.org/internet/2020/07/28/childrens-engagement-with-digital-devices-screen-time/) современные дети все чаще с раннего возраста знакомятся с цифровыми технологиями. Приложение Serene Kid позволяет родителям выбирать детский контент.

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

Для дальнейшего продвижения приложения предусмотрели возможность мультиязычных настроек интерфейса.

Результат
  • Готовое интерактивное приложение для обучения усидчивости работает совместно с внешним устройством, которое подключается через Bluetooth. Устройство считывает показатели с помощью специальных сенсорных датчиков, после чего показатели обрабатываются в соответствии с техническим заданием.

Для разработки четкое техзадание является залогом успеха, так как позволяет точно выделить этапы, рассчитать занятость программистов и заранее наметить встречи для необходимых согласований. Такой подход существенно экономит средства заказчика, делает работу исполнителей прозрачнее и зачастую быстрее. В данном проекте, несмотря на необходимость разработки приложения со сложной системой условий из более чем 180 параметров, срок разработки от начала до сдачи готового приложения составил всего 2 месяца.

Стоимость разработки от 500 000 руб.

Разработка ПО для настройки слуховых аппаратов

Заказчик

Компания, которая занимается производством и продажей слуховых аппаратов, в том числе для международных партнеров.

Задача

Создание программы для настройки слуховых аппаратов.

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

Уровень повреждения слуха пациента определяют с помощью аудиометра, данное исследование проводит слухопротезист, это позволяет исследовать как костную, так и воздушную проводимость. Результатом тестов является график слуховой чувствительности пациента к звуковым волнам, который называется аудиограммой.

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

Но даже если у нас есть общее представление о том, какое усиление необходимо данному пациенту, современный многоканальный слуховой аппарат предлагает огромное количество вариантов амплитудно-частотной характеристики, поэтому для расчета усиления для конкретного пациента используются апробированные расчетные формулы, которые используют входящие данные объективной диагностики (аудиограмма) и рассчитывают целевые кривые для тихих, средних и громких звуков. Таким образом реализация расчета выходного усиления по апробированным формулам является важным разделом настроечного ПО.

Описание основных модулей приложения

Модуль настройки слуховых аппаратов – основной модуль, представляет собой десктопное приложение, которое устанавливается на компьютер слухопротезиста и служит непосредственно для настройки слуховых аппаратов.

Модуль лицензирования – web-приложение, которое позволяет администратору добавлять лицензии для доступа к ПО настройки СА по запросу, который отправляется из ПО настройки. Доступные лицензии пользователь ПО настройки может видеть в личном кабинете.

Модуль сборки приложения – представляет собой десктопное приложение, которое служит для сборки установщика ПО настройки с кастомными настройками локализации и цветовой схемы приложения.

Модуль прошивки слуховых аппаратов – представляет собой десктопное приложение, которое позволяет инженерам заказчика записать дефолтные прошивки и серийный номер аппарата.

Стэк технологий
.Net 8, Avalonia UI, ASP Net Core, React
Модуль настройки слуховых аппаратов

Модуль состоит из следующих разделов:

  • Раздел работы с картами пациентов
  • Раздел подбора модели слухового аппарата
  • Раздел настройки
1. Раздел работы с картами пациентов

Приложение для настройки слуховых аппаратов интегрировано с программой Noah System, которая представляет собой общую международную базу пациентов. Здесь хранятся данные о фамилии, имени и отчестве, результаты аудиометрии с графиком показателей слуха, данные о настройке слуховых аппаратов.

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

Кроме того, модуль поддерживает и автономную работу. В программе есть возможность хранить личные данные пациентов, результаты аудиометрии, а также текущие настройки слухового аппарата в локальной базе данных.

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

2. Раздел подбора модели слухового аппарата

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

Перед переходом в раздел настройки осуществляется расчет целевого усиления по апробированным расчетным формулам. В модуле реализована возможность расчета по формулам Fig6, Fig6Lin, POGOII, NALNL1, NALNL2, DSLmio.

3. Раздел настройки слухового аппарата

После выбора модели и формулы для расчетов, программа рассчитывает график целевых показателей. Для настройки слухового аппарата по полученному графику целевых показателей в модуле предусмотрен интерфейс для ручной корректировки параметров каждой модели. Также в модуле реализован алгоритм автоматической настройки. Чтобы запустить алгоритм, нужно нажать всего на одну кнопку: система сама установит параметры в нужные значения, чтобы аудиограмма максимально совпадала с графиком целых показателей. Если конечный результат не устраивает, можно также внести дополнительные изменения вручную.
Все параметры слухового аппарата сохраняются в базе данных и привязываются к карточке пациента. Это позволяет легко менять настройки от сеанса к сеансу.

Например, пациент может попросить усилить громкость некоторых частот для комфортного использования, но через неделю поймет, что прошлый вариант был лучше. В таком случае можно обратиться к слухопротезисту, чтобы откатить настройки аппарата к прошлым значениям без прохождения процедуры аудиометрии и расчета целевых параметров заново.
Для решения распространенных проблем со слуховыми аппаратами в модуле реализован механизм «Мастера настройки». Например, аппарат гудит, пульсирует, свистит, передает звуки с искажениями или обилием шумов. Врачу для корректировки настроек достаточно зайти в меню «Мастера настройки», выбрать проблему из перечня, и программа сама внесет необходимые изменения.

Результат

Разработанное приложение существенно облегчает работу слухопротезистов, позволяя проводить точные настройки более 50 различных моделей слуховых аппаратов с минимальными усилиями.
Возможность тонкой корректировки аудиологического оборудования лучше раскрывает их технические возможности, а также работает на повышение лояльности клиентов, потому что они получают лучший результат в короткие сроки.
Большим плюсом является интеграция с международной базой пациентов и возможность вести собственную базу с загрузкой аудиограммы напрямую с аудиометра.

Стоимость разработки от 3 000 000 руб.

Разработка ПО для поставщика медицинского оборудования

Команда отдела разработки программного обеспечения ГК «СофтЭксперт» переработала и выполнила объемную доработку ПО для фетальных мониторов, предназначенных для анализа, контроля и визуализации показателей здоровья матери и плода. Заказчик является официальным поставщиком медицинского оборудования, а также авторизованным сервис центром на территории РФ. В ходе работ оборудование было адаптировано для использования на российском рынке, получило расширенный функционал и удобный интерфейс.

Клиент

Предприятие, специализирующееся на продаже оборудования для учреждений здравоохранения, гарантийном и постгарантийном обслуживании, поставке запчастей и аксессуаров для медицинских приборов.

Цель и задачи проекта

Цель проекта — адаптировать медицинское оборудование для российского рынка.

Задачи:

  1. изучить медицинскую литературу, объединяющую труды отечественных и зарубежных ученых, которые учитывали опыт многих десятилетий наблюдений
  2. внести изменения в исходный код, чтобы расширить функциональные возможности приборов
  3. сделать более приятный и удобный пользовательский интерфейс, который будет обеспечивать быстрый доступ ко всем функциям ПО и удобное управление им
  4. интегрировать новый метод анализа данных о состоянии плода
  5. выполнить тестирование ПО на тестовых и реальных данных
Ситуация до начала проекта

Клиент занимался поставкой медицинского оборудования из Китая, и все приборы приходили с уже предустановленным программным обеспечением, которое не всегда удобно для российских пользователей. С учетом модернизации медицинской сферы рынок оборудования, в т.ч. и фетальных мониторов, расширялся, клиент наращивал поставки и часто сталкивался с негативными отзывами заказчиков – они хотели видеть более доступный и удобный в использовании интерфейс.

Команде проекта необходимо было создать новую концепцию UI UX, для последующего создания новой визуальной части программного обеспечения, провести технические доработки для добавления нового функционала. Также важной задачей стало внедрить предложенный заказчиком метод оценки состояния плода, имеющий мировое признание, что несомненно повышает позиции на рынке для данной модели фетального монитора.

Реализация проекта

Клиент выбирал исполнителя из нескольких компаний, и одним из критериев отбора был опыт разработки продуктов в медицинской сфере.

В процессе переговоров наши специалисты предложили свое видение реализации проекта, которое полностью совпало с пожеланиями заказчика.

Всю разработку разделили на этапы, чтобы структурировать работу и упростить предоставление отчетности:

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

Адаптация иностранного программного обеспечения под российский рынок позволяет поставщикам медицинского оборудования найти новых потенциальных клиентов и расширить собственный ассортимент.

Стоимость разработки от 3 000 000 руб.

Разработка комплексного ПО для автоматизации лакокрасочного производства в торговых точках

Специалисты отдела разработки ПО ГК «СофтЭксперт» создали комплексное программное обеспечение для автоматизации процессов, связанных с разработкой и хранением рецептур лакокрасочной продукции, а также взаимодействием с дозатором в торговых точках. Обмен данными между модулями программного комплекса (веб-сайтом и десктопным приложением) может быть осуществлен как автоматически при наличии Интернета в торговых точках, так и в оффлайн режиме.

Клиент

Одним из направлений деятельности заказчика является производство лакокрасочной продукции для различных видов покрытий в торговых точках.

Специалисты компании заказчика разрабатывают рецептуры красок и покрытий для конкретных продуктов и брендов, в том числе проводя лабораторные исследования, а также предоставляют аппаратные средства (дозаторы) и ПО для колеровки и формирования готовой продукции на клиентских точках.

Цель и задачи проекта

Цель проекта — создать функционал для автоматизации этапов производственного цикла при формировании лакокрасочной продукции.

Задачи:

  1. Разработка модуля для формирования и хранения рецептурной базы с возможностью добавления лакокрасочных брендов, продуктов, цветовых коллекций и колорантов.
  2. Разработка модуля взаимодействия с дозатором для колеровки по выбранной рецептуре.
  3. Настройка многопользовательского режима для просмотра и ввода/выгрузки данных для торговых точек.
Ситуация до начала проекта

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

Для модуля управления дозатором в торговых точках у заказчика были следующие требования:

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

Кроме того, модуль для колеровки должен был осуществлять взаимодействие с различными типами дозатора через общий UDCP драйвер (отправка команд драйверу и обработки сообщений от драйвера).

Для модуля формирования и хранения рецептур были сформированы отдельные требования:

  • возможность переноса рецептурной базы (перегрузка уже готовых рецептур с сохранением данных о базовой красе, фасовке, поправочных коэффициентах и др.);
  • возможность ввода новых рецептур (в том числе составление новых цветовых коллекций и оттенков);
  • возможность онлайн и оффлайн выгрузки рецептурной базы (для последующей загрузки рецептурной базы в модуль взаимодействия с дозатором).
Реализация проекта
С учетом требований заказчика модуль формирования и хранения рецептурной базы решили реализовать как полноценный многопользовательский веб-сайт на ASP.NET Core платформе. Для разработки серверной части был выбран .NET Core 6.0 Framework (язык программирования C#), клиентская часть на React framework (язык программирования TypeScript). Для реализации многопользовательского режима выбрали бару данных Postgree SQL.
Модуль взаимодействия с дозатором решили реализовать как автономное десктоп-приложение. Для обеспечения кроссплатформенности всю функциональную часть реализовать как веб-сайт на ASP.NET Core платформе, используя аналогичный стэк (.NET Core 6.0 + React), и средствами Electron .NET Framework запаковать сайт в оконное приложение. Также мы использовали функционал (API) SignalR библиотеки для обновления клиентской части веб-сайта после обработки событий от UDCP драйвера на сервере.
Для обеспечения автономности работы модуля взаимодействия с дозатором в качестве локальной базы данных была выбрана SQLite, которая представляет собой файловую базу данных и не требует отдельной СУБД для подключения и работы с БД.

С учетом масштабности и целей проекта разработка проекта была разделена на несколько этапов.

На первом этапе был разработан начальный вариант модуля взаимодействия с дозатором и реализован функционал взаимодействия с дозаторами различных типов через общий UDCP драйвер, который включал в себя поддержку всех операций по взаимодействию с драйвером (инициализация, продувка сопел, перемешивание колорантов и т.д.), включая операцию ручной дозировки колорантов.

Схема. Механизм выгрузки рецептурной базы из основного веб-сайта в модуль взаимодействия с дозатором

Аналогичное решение использовано для загрузки новых обновлений для дескттоп-приложения на веб-сайт и автоматического скачивания обновлений с последующей автоматической установкой.

Модуль управления дозатором имеет клиент-серверную архитектуру. С клиента на сервер отправляется запрос на формирование команды UDCP драйверу, далее запрос обрабатывается и формируется файл с параметрами команды. На самом сервере происходит постоянный опрос наличия ответа от UDCP драйвера, и при получении результата обработки команды сервер уведомляет клиента через SignalR API.

На втором этапе выполнены следующие задачи:
  • разработка веб-сайта для хранения и формирования рецептурной базы с функционалом аутентификации и разграничением ролей пользователей;
  • создание отдельных разделов для Marketing и R&D подразделений для удобства работы с ПО;
  • разработка функционала хранения и редактирования информации для формирования рецептур (оттенки, формулы, колеровочные базы, фасовки, продукты и т.д.);
  • перегрузка имеющейся базы рецептур в новую систему.

На третьем этапе был реализован механизм автоматической перегрузки рецептурной базы из веб-сайта в модуль управления дозатором.

Также был реализован визард для подбора рецептуры по требуемому цвету, продукту, фасовке с последующим формированием команды дозатору на колеровку выбранного цвета.

На четвертом этапе в модуле взаимодействия с дозатором реализовали:

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

На момент публикации кейса система автоматизации производственного цикла лакокрасочной продукции прошла необходимые проверки и подтвердила работоспособность в 20 пилотных торговых точках заказчика, а общее количество торговых точек, в которые поставляется программное обеспечение, превышает 1500.

В модуле формирования и хранения рецептурной базы реализованы:

перегрузка рецептур из базы по всем используемым брендам и продуктам с использованием различных факторов (базовая краска, фасовка, поправочные коэффициенты и т.д.);

возможность ввода новых рецептур, включая составление новых цветовых коллекций, оттенков и др.;

возможность онлайн и оффлайн выгрузки рецептурной базы в нужном формате для последующей загрузки рецептурной базы в модуль взаимодействия с дозатором.

В модуле взаимодействия с дозатором реализованы:

возможность загрузки рецептурной базы в автоматическом режиме;

возможность выбора формулы в виде визарда по заданному продукту, цвету, оттенку, фасовке;

возможность корректировки и изменения формулы в выбранном рецепте перед отправкой команды на дозатор;

возможность создания и хранения собственных рецептур, а также истории колеровок выполненных в конкретной торговой точке;

возможность работы с клиентской базой и функционал по автоматическому сохранению восстановлению локальной базы.

Стоимость разработки от 3 000 000 руб.

Разработка интерактивного приложения для отслеживания уровня стресса

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

Клиент

Частное лицо, предприниматель из США, который занимается разработкой нестандартных решений для мониторинга различных состояний. В данном случае — приложение для отслеживания уровня стресса.

Ситуация до начала проекта

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

На зарубежном рынке приложения для мониторинга пользуются популярностью у инвесторов, поэтому их разработка — выгодное направление деятельности для индивидуальных разработчиков и небольших компаний.

Заказчик обратился к нам с запросом на разработку приложения для браслета-трекера i-TRANQ на основе собственной уникальной системы замера и обработки результатов, которая помогает оценить уровень стресса.

Цель и задачи проекта

Цель проекта — разработать интерактивное приложение для персонального носимого устройства, которое отслеживает уровень стресса.

Задачи:

выполнить верстки экранов по предоставленным Заказчиком макетам;
разработать алгоритм сбора информации c помощью технологии Bluetooth Low Energy;
разработать алгоритм для интерпретации результатов мониторинга, которые приходят на устройство в соответствии с техническим заданием.
Реализация проекта

Интерактивное приложение i-TRANQ для персонального носимого устройства разработано на кроссплатформенном фреймворке Flutter (язык Dart). Приложение работает совместно с внешним устройством, смартфоном, к которому браслет-трекеру подключается с помощью технологии Bluetooth Low Energy, поддерживает платформы Android и iOS.

Bluetooth Low Energy (BLE) — технология Bluetooth с низким энергопотреблением, применяется в приложениях с малым энергопотреблением или в устройствах, передающих небольшие объемы данных с большими интервалами между передачами. Наиболее часто используемый протокол в устройствах IoT (Интернета Вещей).

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

В процессе просмотра фильма трекер i-TRANQ считывает реакции нервной системы, на основе которых программа создает итоговый отчет о здоровье пользователя, поэтому ключевой задачей было разработать алгоритм для интерпретации результатов мониторинга, которые приходят на устройство в соответствии с техническим заданием. Для дальнейшего продвижения приложения предусмотрели возможность мультиязычных настроек интерфейса.

Результат

Готовое интерактивное приложение i-TRANQ для отслеживания уровня стресса работает совместно с внешним устройством, которое подключается через Bluetooth. Устройство считывает показатели стресса с помощью специальных сенсорных датчиков, после чего показатели обрабатываются в соответствии с техническим заданием.

Пользователь получает результаты мониторинга в виде удобного графика, который отражает:

  • уровень психоэмоционального напряжения,
  • уровень продуктивности,
  • точки максимального, среднего и минимального уровня стресса.

Большинство современных персональных носимых устройств для получения информации о состоянии (мониторинга) используют технологию Bluetooth Low Energy, так как она подходит для применения в малопотребляющих устройствах с большими интервалами между передачей данных.

Для создания приложений, совместимых с интерфейсом BLE, требуется опытный разработчик, знающий особенности, которые необходимо учитывать во время разработки ПО для его стабильной работы и точности отображения параметров мониторинга.

Стоимость разработки от 550 000 руб.

Специалисты «СофтЭксперт» разработали web-приложение для обучения и проверки знаний сотрудников завода «Бекарт»

Специалисты направления разработки программного обеспечения ГК «СофтЭксперт» создали web-приложение для проверки знаний внутренних стандартов качества сотрудниками компании «Бекарт Липецк». В результате рабочие завода могут, находясь прямо в цехах, учиться и проверять свои знания, а руководство предприятия имеет все данные для анализа качества работы и его повышения.

О клиенте

Компания «Бекарт» ― мировой лидер на рынке высокотехнологичных решений в области покрытий и обработки металлов. Это международная компания со штаб-квартирой в Бельгии, филиалы присутствуют в 120 странах мира.
ООО «Бекарт Липецк» производит металлический корд, используемый для армирования шин, и стальную фибру Dramix®, применяемую в строительстве.
Продукция для строительного сектора составляет более 25% от общего объема продаж компании «Бекарт». Проволока, сетки и инновационная фибра компании широко применяются в таких объектах, как дороги и мосты, туннели и шахты, в архитектуре и ландшафтном дизайне, в сборном железобетоне и промышленных полах.

Цели проекта

Руководство любого предприятия стремится к тому, чтобы работа сотрудников была максимально эффективной. Достижение этой цели зависит от многих факторов, в том числе от квалификации и следования стандартам качества на производстве. Предприятие может ограничиться традиционными подходами к обучению и контролю качества. Но «Бекарт Липецк» решил воспользоваться современными технологиями и создать web-приложение, позволяющее:

проверять знания внутренних стандартов качества сотрудниками, непосредственно занятыми на производстве;
повышать профессиональный уровень сотрудников;
получать аналитическую информацию, необходимую мастерам – для обучения сотрудников своего участка; руководству завода ― для принятия верных решений по повышению качества работы.

Изначально в качестве исполнителя проекта «ActiveDesign» выбрали другого подрядчика, однако тот не смог интегрировать шаблон, который предложил заказчик. За год сотрудничества была сделана одна только главная страница сайта. Получив такой неудовлетворительный результат, компания расторгла предыдущий договор и обратилась к нам.

Как работает web-приложение?

Специалисты «СофтЭксперт» создали систему, пользоваться которой могут все сотрудники предприятия, но каждый – исходя из своего уровня доступа.

Администратор загружает обучающие видео, добавляет ненужные в архив или удаляет их. К каждому видео он прикрепляет тест. В тесте может быть множество вопросов, администратор устанавливает, на сколько конкретно должен ответить рабочий в момент прохождения теста, и система сама в случайном порядке выбирает нужное количество вопросов. Администратор устанавливает и продолжительность теста.
Для каждого сотрудника администратор назначает периоды, в которые тот должен просмотреть видео и пройти тесты. Более того: администратор видит прогресс каждого сотрудника: сдал он тест вовремя или нет и насколько успешно и даже ― на какой минуте остановился при просмотре видео!

Гость – под этой ролью может зайти любой сотрудник предприятия и просто посмотреть любые видео.

Ученик ― в этом случае работник авторизуется в приложении по своей карте EM-Marine и видит ролики, которые ему назначено посмотреть, а также тесты, которые нужно пройти. Если ученик не прошел тест вовремя или «завалил» его, администратор назначает ему дисциплинарное видео. При повторном провале его отстраняют от работы.

Мастер ― он как сам смотрит видео и проходит тесты, так и следит за прогрессом своих подчиненных. Он, как и администратор, может назначать дисциплинарные видео своим сотрудникам. Кроме того, он может посылать обратную связь администратору.

Отчеты ― возможность просмотреть отчеты есть у руководителей предприятия. Это сводный отчет (демонстрирует эффективность бригад), отчет вовлеченности (анализ обратной связи), топ-10 видео по количеству проваленных тестов и т.д.

Достоинства системы
С функциональной точки зрения
  • Веб-приложение интегрировано со СКУД (система контроля и управления доступом), таким образом, не требуется дополнительных усилий для идентификации работников.
  • Рабочий учится прямо в цеху, авторизовавшись с помощью своей карты доступа СКУД.
  • Системе присуща гибкость ― легко добавить новые видео и тесты и убрать старые; таким образом, можно подстроиться, например, под смену оборудования на заводе.
  • Простой и понятный интерфейс для любой из ролей внутри приложения.

С точки зрения повышения эффективности труда
Рабочий осваивает новые знания и осуществляет самоконтроль ― наглядно видит, чего ему не хватает для успешной работы.
Если раньше мастер получал информацию о том, как работают его подчиненные и где их надо подтянуть и проконтролировать, только из наблюдений за их работой и ее результатом, то теперь ему в помощь ― умное приложение. Оно не только демонстрирует достижения и пробелы, но и позволяет анализировать прогресс подчиненных, а также хранит все эти сведения на будущее. Эффективность работы мастера возрастает.
В распоряжении отдела качества теперь ― подробная аналитическая информация, на основании которой можно сделать выводы о том, на каком профессиональном уровне находится каждый из участков, какие из тестов вызывают больше всего проблем и что просят улучшить сами сотрудники.
Таким образом, web-приложение позволяет ООО «Бекарт Липец» добиться поставленных целей. Глобальное следствие внедрения системы ― повышение производительности труда.

Создание погодного API-сервиса в интеллектуальных транспортных системах

Заказчик

Компания ТРАССКОМ предоставляет оборудование для интеллектуальных транспортных систем (ИТС), стационарное и мобильное метеооборудование, а также специальное программное обеспечение для автоматических дорожных метеостанций (АДМС).

Задача

Разработка специализированного онлайн-сервиса дорожного метеопрогноза для предоставления потребителям информации о краткосрочном прогнозе метеорологических условий дорожного движения и состоянии дорожного полотна.

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

Компания ТРАССКОМ, которая является одним из крупнейших поставщиков оборудования для интеллектуальных транспортных систем и участником Национального проекта «Безопасные качественные дороги» (БКД), обратилась за разработкой онлайн-сервиса для оказания услуг широкому кругу потребителей по предоставлению данных о прогнозе условий дорожного движения.

Проблема и решение
Для формирования прогноза дорожных параметров используется модель прогнозирования METRo, разработанная департаментом окружающей среды и климатических изменений правительства Канады. Данная модель прогнозирования рассчитывает поток тепла через поверхность дороги, представляя его в виде суммы солнечного и поглощенного инфракрасного излучений, излучаемой энергии, турбулентного и латентного тепловых потоков, изменения теплоты за счёт фазового перехода, а также антропоморфных источников. Входными данными данной модели являются данные атмосферного прогноза, а также данные, полученные с автоматических дорожных метеостанций.
Таким образом, чтобы получить данные о состоянии дорожного полотна, потребитель должен собрать данные из нескольких источников и сделать расчет, используя модель METRo. Сервис предоставляет единое API для получения как дорожного прогноза, так и общего атмосферного прогноза от поставщиков по разным прогнозным моделям.
Кроме этого поставщики погодных данных накладывают определенные ограничения для внешних запросов (квота запросов, задержка между запросами и др.), что может создавать серьезные сбои и трудности в работе приложений, которые привязаны напрямую к API поставщика. Сервис решает эту проблему, организуя очередь запросов и кеширование данных. Это позволяет выполнять меньше медленных операций с запросами к внешним API и показывать конечным пользователям заранее сохраненные данные в удобной для отображения форме.
Функционал сервиса

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

Для получения данных общего числового атмосферного прогноза сервис интегрируется с сервисами следующих поставщиков метеоданных:

  • Норвежский метеорологический институт, предоставляющий данные по модели HRES от ECMWF;
  • финская компании Foreca, предоставляющая данные прогноза по модели GFS.

Пользователь, который приобрел тариф общего числового прогноза, подключается к модулю выбранного поставщика метеоданных. Через единый API он получает общие данные о температуре, ветре, осадках, давлении. Данные полученного прогноза кэшируются и хранятся в архиве с учетом всех ограничений, которые накладывает поставщик погодного прогноза.

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

Стэк технологий

Back-end — ASP Net. Core (C#), Django (Python), Java spring boot.
Front-end — ReactJS.
СУБД — PosgreSQL, MongoDB.
Кэширование – Redis.

Система организована на микросервисной архитектуре, что дает возможности горизонтального масштабирования при необходимости.
Для запуска микросервисов используется Docker-контейнер. Все контейнеры развернуты и управляются в кластере Kubernetes.
Область применения специальных дорожных прогнозов
Данные сервиса делают эффективной работу дорожных служб и органов управления дорожного хозяйства.
Благодаря достоверной и оперативной передаче информации о метеоусловиях можно не только получать информацию
об уровне содержания дорожной сети, но и автоматизировать контроль работ подрядных организаций по содержанию дорог.
Метеомониторинг полезен для государственных служб, позволяя контролировать эффективность расходования бюджетных средств
на выполнение работ по обслуживанию дорожной сети и противогололедные материалы в зимний период.
Специализированные погодные сервисы помогают получать предупреждения об опасных погодных явлениях
и через систему электронных табло информировать о скользкости дорожного покрытия, плохой видимости и других погодных явлениях, которые увеличивают число ДТП и смертность на дорогах.
Стоимость разработки от 3 000 000 руб.

Мобильное приложение музыкальный тренажер посвященный ближневосточным ритмам

Позволяет проигрывать популярные ритмы и мелодии и создавать новые путем заполнения нот для отдельного инструмента.

Для реализации механизма видеоуроков в приложении разработана серверная часть, позволяющая администратору через панель управления загружать каталоги с видеороликами. Клиентское приложение может получать доступ к ним по подписке отдельного пользователя или бесплатно по желанию администратора сервиса.

Данный сервис работает как WebAPI, поддерживает как мобильные клиенты, так и веб-интерфейсы.

В мобильном приложении добавлен раздел, в котором пользователь имеет возможность просматривать видео, помеченное администратором как бесплатное, а также приобрести доступ к видеоразделам, помеченным администратором как доступные по подписке.

Стоимость разработки от 400 000 руб.