REMCOD Docs
Engineering

Frontend и design systems

Frontend и design systems

У REMCOD несколько UI runtimes, но один backend access model.

Web

apps/web: Next.js App Router + React + Tailwind + shadcn/ui. Базовые controls/layout primitives берутся из components/ui; доменные компоненты собираются поверх них. Product logic не переносится в primitive layer.

Expo

Корневое React Native приложение — PWA/RuStore surface. Использует Expo Router, существующие mobile components и server-driven access. Offline/idempotency behavior не должен создавать второй backend.

Native iOS/watchOS

apps/ios-native: SwiftUI/XcodeGen и собственный native design-system layer (Remcod/Core/DesignSystem). Права UI берутся через AuthSession.can(_:) из server-provided effectivePermissions.

Общие UX-инварианты

  • loading/empty/denied/offline/error states явные;
  • запрещённое действие скрывается/не предлагается до server check, но клиентская проверка не заменяет backend RBAC;
  • после важных mutations UI перечитывает authoritative state;
  • деньги форматируются через профильные общие formatter-компоненты;
  • accessibility/responsive проверяются в каждом runtime своим нативным способом.

Правила web — apps/web/AGENTS.md, native Apple — apps/ios-native/AGENTS.md, общие design rules — DESIGN.md.

On this page