Files
gnezim 5d512e146e
CI / ci (push) Failing after 37s
Deploy / build-and-deploy (push) Failing after 6s
Add image/font assets from Angular and fix CSS url() resolution
- Copy 134 image files and 28 font files from ClientApp/src/assets/
  to public/assets/ for browser-side serving
- Set tools.cssLoader.url=false in modern.config.ts so the CSS loader
  leaves url() references as-is instead of trying to resolve them as
  webpack modules
- Add .playwright-mcp/, coverage/, and screenshot artifacts to .gitignore
2026-04-15 19:01:56 +03:00

42 lines
5.3 KiB
Markdown

1. Технологический стек
Компонент должен представлять собой remote-компонент, встраиваемый в канальные приложения Заказчика (WEB, PWA) и быть реализован на следующем технологическом стеке:
1.1.1. ModernJS
Frontend должен быть реализован на ModernJS (SSR).
1.1.2. Module Federation 2.0 и сборщики
Допускается использование любого сборщика с поддержкой Module Federation 2.0: Webpack 5, Rsbuild, Rspack или Vite
Для экспонирования компонентов и логики должен генерироваться файл: https://ваш-домен/mf-manifest.json.
Пример для webpack https://module-federation.io/guide/basic/webpack.html.
1.1.3. React 18+ совместимость
Компонент должен работать с React 18 Concurrent Mode
Должна быть обеспечена поддержка <Suspense> (если используется асинхронная загрузка).
В теле компонента не должно быть побочных эффектов (никаких fetch вне useEffect).
Динамические импорты должны использовать React.lazy():
2. Источники данных и интеграции
Frontend-компонент должен использовать данные, получаемые из REST API Заказчика, формат данных JSON.
2. Актуальность и консистентность данных
Отображаемые во Frontend-компоненте данные должны соответствовать полученным из REST API Заказчика.
3. Производительность и нагрузка
Компонент должен выдерживать 100 обращений в секунду.
4. Отказоустойчивость
Виртуальные машины, на которых размещен Компонент, должны быть географически разнесеныдля обеспечения отказоустойчивости решения.
5. Безопасность
Компонент должен быть изолированным и не представлять собой угрозы другим компонентам Сайта Заказчика.
6. SEO и доступность
Компонент должен быть доступен 24 часа в сутки, 7 дней в неделю, 365 дней в году без запланированных и незапланированных простоев при нормальном функционировании технических средств и общего программного обеспечения. Время восстановления программного обеспечения после отказов не должно превышать 6 часов с момента восстановления работоспособности технических средств и общего программного обеспечения.
В компоненте должны быть реализованы:
SEO-оптимизация;
Рендеринг, отображение микро-разметки (JsonLD, OpenGraph).
Web-аналитика (Яндекс.Метрика, CTM, Вариокуб, Ключ-Астром).
7. Кросс-платформенность
Компонент должен поддерживать встраивание в несколько канальных приложений (Web, PWA).
В компоненте должна быть реализована адаптивность («резиновая вёрстка») - отображение страницы на любых экранах.
8. Логирование и мониторинг
В компоненте должно быть реализовано логирование путём сбора данных с frontend, формирования файла установленного образца (будет предоставлено Заказчиком отдельно), передачи в систему журналирования Заказчика.
В компоненте должен быть реализован мониторинг системных событий с последующей отправкой в агрегатор метрик.
9. Обновления и поддержка
Структура модуля должна соответствовать типовой структуре удалённого frontend-модуля Заказчика для универсализации развёртывания.
10. Дизайн
Компонент должен быть реализован в соответствии с предоставляемыми Заказчиком макетами и с использованием принятой у Заказчика Дизайн-системы.
Компонент должен встраивать элементы других remote-компонентов Заказчика, если необходимые таковые реализованы в рамках компонентов.