arm-web/ARCHITECTURE.md
Andrey Epifancev 190458c8bc chore: CLAUDE.md, ARCHITECTURE.md, OpenSpec и Makefile для arm-web (#1)
Обвязка из adopt-project.sh дополнена описанием репозитория по коду: источники истины
для фронта, ветка test как интеграционная, правило «запросы только через api/client».
.gitignore: исправлена склейка строк (package-lock.json.superpowers/), добавлен dist/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EAKRDNzXtRrwmWz9z6PZu3
2026-10-08 00:13:42 +04:00

1.6 KiB
Raw Blame History

Архитектура arm-web

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

Модули

Модуль Ответственность Зависит от
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/types/ DTO API (повторяют arm-core/api/src/schemas/) —
src/components/ примитивы UI (таблица, теги, заголовок) antd
src/widgets/ блоки экранов components/, store/, services/api/
src/layouts/ страницы-маршруты widgets/

Границы

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

Открытые вопросы

  • Судьба arm-core/web (дубль основы этого репозитория) — решает владелец.