Функциональные модули архитектуры1. Клиентский уровень (Frontend / Уровень представления)Система имеет кроссплатформенную структуру и включает:
- Веб-сайт (Интернет-магазин) — для розничных клиентов (каталог, оформление заказов, расчет доставки).
- Личный кабинет (ЛК) клиента — веб-интерфейс для отслеживания статусов, просмотра документов, заключений и общения в чате.
- Desktop-приложение — для работы сервисных специалистов и администраторов.
- Mobile-приложение — мобильное рабочее место для выездных специалистов (работа с задачами, календарем и прикреплением документов).
2. Уровень бизнес-логики и сервисов (Backend)Внутри системы работают следующие модули:
- Модуль управления каталогом и заказами (сегментация, обработка статусов, интеграция цепочки обслуживания).
- Логистический модуль (автоматический расчет стоимости доставки, формирование заказов поставщикам и логистическим компаниям).
- CRM / Модуль ведения базы клиентов.
- Task Management (Управление задачами) — распределение задач по исполнителям, контроль графиков и дедлайнов.
- Система эскалации и уведомлений — триггеры для отправки СМС клиентам и пуш-уведомлений сотрудникам об истечении сроков задач.
- Аналитический модуль (BI) — дашборды по выручке, популярным товарам и статистике успеваемости сотрудников.
3. Интеграционный уровень- Интеграция с внешней системой учета ( 1С или ERP) — для синхронизации операций продаж, складского учета, логистики и финансовой отчетности.
4. Уровень данных (Data Layer)- Встроенная база данных — централизованное хранилище для информации о товарах, услугах, контрагентах и истории выполненных работ.
- Архитектурой заложена высокая глубина хранения данных — не менее 10 лет.
1. Архитектурные и общесистемные требования- Тип архитектуры: Клиент-серверная, с разделением на Frontend (веб и мобильные приложения) и Backend (серверная бизнес-логика и API).
- Кроссплатформенность: Клиентская часть должна стабильно работать на Desktop (Windows/macOS) и Mobile (Android/iOS) устройствах.
- Глубина хранения данных: Архитектура СУБД должна обеспечивать производительность и сохранность данных (товары, контрагенты, логистика, история работ) с глубиной архивации не менее 10 лет.
2. Функциональные требования по модулям2.1. Интернет-магазин и Личный кабинет (ЛК) клиента
- Каталог: Поддержка сегментации товаров и услуг по категориям, наличие индивидуальных информационных карточек.
- Ценообразование: Возможность фиксации единой цены на товары по всей территории РФ.
- Доставка: Наличие API-интеграции со службами доставки для автоматического расчета стоимости на шаге оформления заказа.
- Информирование:
- Наличие модуля отправки СМС-уведомлений и обновлений в ЛК при смене статуса заказа.
- Возможность отображения и скачивания документации, официальных заключений и рекомендаций.
- Коммуникации: Встроенный онлайн-чат поддержки и раздел часто задаваемых вопросов (FAQ).
2.2. Приложение сервисного специалиста (Desktop/Mobile)
- Управление задачами:
- Возможность самостоятельного заведения задачи специалистом или назначения старшим сотрудником на конкретный период.
- Функция прикрепления файлов (сопроводительной документации, фото, PDF-заключений) непосредственно внутри задачи.
- Автоматическая отправка финального заключения в ЛК клиента по факту закрытия задачи.
- Личная эффективность:
- Отображение календаря, расписания смен и графика работы специалиста.
- Инструменты мониторинга личной статистики и KPI.
- Возможность редактирования личного портфолио и получения обратной связи (отзывов) от клиентов и кураторов.
2.3. Внутренняя структура и Backend-администрирование
- Логистические цепочки: Автоматическая генерация заказов поставщикам, логистическим операторам и сервисным компаниям на основе входящих заявок.
- Контроль персонала: Сбор, агрегация и выгрузка отчетов по выполненным работам в разрезе как одного сотрудника, так и всей структуры компании.
- Управление контентом: Административная панель для ведения БД клиентов, редактирования каталога, управления платежными шлюзами и правилами доставки.
2.4. Система эскалации и уведомлений
- Push/Уведомления сотрудникам: Автоматическая отправка уведомлений исполнителю при поступлении новой задачи.
- Контроль SLA: Система должна отслеживать сроки выполнения задач и присылать предупреждения (эскалации) в случае, если дедлайн задачи истекает.
2.5. Модуль аналитики и отчетности (BI-дашборды)
- Визуализация сквозной цепочки обслуживания: от первичного заказа покупателя до момента получения заключения в ЛК.
- Вывод на дашборд ключевых метрик: общая выручка, продажи товаров и услуг (вместе и раздельно), топ лидирующих позиций, статистика посещаемости сайта.
3. Требования к интеграции- Внешняя учетная система (ERP/1С): Реализация двустороннего обмена данными по API для мгновенной фиксации и проведения операций продаж, актуализации складских остатков, логистических статусов и бухгалтерской отчетности.
4. Фронтенд (Frontend & Client Apps)- Интернет-магазин и ЛК Клиента (Web):
- Фреймворк: Next.js (на базе React).
- Почему: Обеспечивают отличный SEO-движок для публичного интернет-магазина (за счет Server-Side Rendering) и высокую скорость работы интерфейса в личном кабинете.
- Приложение специалиста (Mobile: Android / iOS):
- Технология: React Native.
- Почему: Позволяют использовать единую кодовую базу для обеих мобильных платформ, обеспечивая при этом нативную производительность и легкий доступ к камере/файловой системе смартфона (для загрузки заключений и фото).
- Приложение специалиста (Desktop: Windows / macOS):
- Технология: Electron.
- Почему: Позволяет переиспользовать бизнес-логику веб-версии или мобильного приложения, ускоряя разработку в разы.
5. Система управления базами данных (СУБД)С учетом требования
хранения данных от 10 лет и сложной внутренней структуры (заказы, поставщики, клиенты, логистика), используется комбинированная архитектура баз данных:
- Основная реляционная СУБД: PostgreSQL
- Для чего: Хранение всех структурированных данных: профили клиентов, заказы, финансовые транзакции, каталоги товаров, графики специалистов.
- Почему: Обладает высочайшей надежностью, поддерживает сложные SQL-запросы для аналитических отчетов и дашбордов, отлично справляется с большими объемами данных (через партиционирование таблиц по годам для соблюдения правила 10-летнего хранения).
- Кэш и очереди (In-Memory DB): Redis
- Для чего: Кэширование корзин покупателей, сессий, чата обратной связи и быстрой обработки push-уведомлений/системы эскалации задач.
6. Бэкенд (Backend & API) — ДополнениеЧтобы связать фронтенд и СУБД, а также настроить интеграцию с внешней учетной системой (1С/ERP), используется следующий бэкенд-стек:
- Язык и фреймворк: Node.js (NestJS)
- Почему: NestJS идеален для крупных корпоративных систем с четкой архитектурой.
- Протокол обмена данными: REST API (для интеграции с внешними ERP/1С и веб-сайтом) + WebSocket (для мгновенного обновления статусов задач, работы онлайн-чата поддержки и уведомлений).