Files
frontend/docs/STRUCTURE.md
T

1.6 KiB

Structure

Проект использует FSD-направление импортов: app -> pages -> features -> entities -> shared.

  • app - providers и routes; общий визуальный фундамент принадлежит shared/theme.
  • pages - страницы маршрутов.
  • features - пользовательские сценарии, включая authentication.
  • entities - доменные модели и их UI/API.
  • shared - переиспользуемый код без доменной логики: API, i18n и UI.

Каждый слайс предоставляет наружу только public API через index.ts; внутренние файлы соседний слой не импортирует напрямую.

Для cross-slice imports используйте alias @/ и public API, например @/entities/portfolio. Vite и TypeScript используют одинаковый alias.

shared/theme/index.ts экспортирует единую Mantine theme, семантические color roles и CSSVariablesResolver и подключает базовые styles. App и Storybook подключают свои MantineProvider к этому public API. Scales принимаются из Mantine, локальные domain styles остаются у владельцев. shared/ui предоставляет StateView и LoadingSkeleton; их каталог не включает route-aware AppShell. Подробнее: дизайн-система.