arm-core/web/ARCHITECTURE.md
Andrey Epifancev 7e05cdedf6 docs(web): README, CLAUDE.md и ARCHITECTURE.md фронта — из arm-web в arm-core/web (#148)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 09:52:56 +04:00

2.1 KiB
Raw Blame History

Архитектура фронта arm-core/web

SPA поверх API arm-core (/api/v1). Своих данных и бизнес-вычислений нет: всё производное (чек-лист, сводная ОСВ, статусы) считает сервер, фронт показывает и отправляет действия пользователя. До 21.10.2026 фронт вёлся в отдельном репозитории RSHB/arm-web и переносился сюда синхронизацией; теперь — только здесь.

Модули

Модуль Ответственность Зависит от
src/api/ HTTP-клиент, токен, разбор ошибок conf/, auth/token
src/auth/ профиль /me, dev-вход, права для меню api/
src/services/api/ вызовы ресурсов arm-core api/, types/
src/store/ состояние экранов (Redux Toolkit) services/api/
src/utils/ чистые функции: деньги, подписи, скачивание types/
src/types/ DTO API (повторяют ../api/src/schemas/) —
src/components/ примитивы UI (таблица, теги, заголовок) antd
src/widgets/ блоки экранов (DocumentReview — проверка документа со сканом, ConsolidatedOsv — сводная ОСВ, FilesDrawer) components/, store/, services/api/, utils/
src/layouts/ страницы-маршруты widgets/

Границы

  • Сетевые запросы — только через src/api/client.ts; fetch напрямую не вызывается.
  • components/ не знают про store и API; types/ ни от чего не зависят.
  • utils/ не импортирует React, store и API.

Сборка

npm run build → web/dist, Dockerfile ядра кладёт его в api/web/ и FastAPI отдаёт SPA (../README.md).