Reactive EngineeringRE Docs
Архитектура

Архитектура

Структура приложения, runtime и границы бизнес-модулей ITAM.

ITAM — монолитное Next.js-приложение с PostgreSQL. Server Components читают данные через feature server modules; изменения проходят через Server Actions с валидацией, проверкой permissions, транзакциями и аудитом.

Каталоги

КаталогОтветственность
src/appМаршруты, layouts, API и page-level authorization
src/featuresИзолированные бизнес-модули и Server Actions
src/components/uiУниверсальные shadcn primitives без ITAM imports
src/components/commonПереиспользуемые композиции
src/configНавигация, сайт, тема и Environment
src/libPrisma, Better Auth, email, audit и общие utilities
prismaData model, migrations и idempotent seed

Предметные модули

  • assets — общий registry core и profile blocks;
  • asset-types / attribute-form — метамодель и динамические формы;
  • dictionaries — единый механизм перечислений;
  • lifecycles — наборы статусов;
  • people — org units, employees и asset roles;
  • relations — типизированные связи;
  • licenses — compliance, renewals и cron;
  • reports / dashboard — вычисляемые представления;
  • access-control — RBAC, scopes, users, roles и audit.

Основные решения

  • один Asset core для всех классов;
  • typed 1:1 profiles для данных, участвующих в расчётах;
  • JSONB attributes для admin-defined полей;
  • связи и отчёты вычисляются из фактических данных, а не дублируются;
  • все production schema changes проходят через committed migrations;
  • фоновых процессов внутри Next.js нет — scheduler внешний.

On this page