React и Progressive Web App (PWA) как основа разработки
Мы разработали приложение на React с использованием подхода Progressive Web App (PWA), ориентированное на полноценную работу без постоянного подключения к интернету.
На общей технологической основе реализовали веб-версию и мобильные приложения, сохранив единые пользовательские сценарии и функциональность.
Такой подход позволил упростить сопровождение продукта, ускорить выпуск обновлений и обеспечить согласованный пользовательский опыт на разных устройствах.
Офлайн-режим и локальное хранение данных
Вместо того чтобы ограничиваться отображением ранее открытых страниц, мы реализовали механизм локального хранения данных каталога.
После первоначальной загрузки приложение сохраняет необходимые данные и ресурсы на устройстве. Пользователь может искать препараты, применять фильтры, изучать карточки и обращаться к предварительно загруженным документам без подключения к сети.
Для локального хранения используется IndexedDB, а система кэширования обеспечивает доступность данных и ресурсов приложения.
При восстановлении интернет-соединения приложение может получать актуальные данные каталога.
Подготовка и интеграция данных
Одной из ключевых технических задач стала подготовка данных.
Исходная информация поступала из нескольких файлов и источников. Чтобы обеспечить стабильную работу каталога, необходимо было привести её к единой структуре и обеспечить корректные связи между препаратами, культурами и регламентами.
Мы выстроили процесс обработки данных:
- Консолидация информации из разных выгрузок.
- Нормализация форматов и структур.
- Сопоставление препаратов между источниками.
- Очистка HTML-контента и исключение неподдерживаемых элементов.
- Формирование оптимизированных JSON-файлов для использования в приложении.
Это позволило отделить обновление справочной информации от обновлений самого приложения и подготовить архитектуру к дальнейшему переходу на API.