Перейти до вмісту

� Матриця Технологічного Стеку — SmartFeed Studio

🛠 Технології за Рівнями Системи

РівеньТехнологія / БібліотекаВерсіяПризначення в проекті
Monorepopnpm workspaces9.xУправління залежностями без дублювання, ізольовані node_modules
Monorepo BuildTurborepo (turbo)2.xПаралелізація збирання, кешування результатів білду
Backend FrameworkNestJS11.xМодульний корпоративний TypeScript фреймворк
Backend Architecture@nestjs/cqrs11.xРеалізація шаблону Command Query Responsibility Segregation
ORMPrisma ORM6.xТипізований доступ до БД, схема schema.prisma, міграції
DatabasePostgreSQL16.xРеляційне сховище користувачів, планів, ліцензій, навігації
Message Queue / CacheRedis7.xЧерги фонових задач (BullMQ) та кеш
Object StorageMinIO / AWS S3 SDK@aws-sdk/s3-request-presignerХмарне сховище для знімків каталогів та зображень товарів
Desktop HostTauri2.xЛегкий нативний контейнер поверх системного WebView
Desktop CoreRust2021 editionШвидкодія, шифрування SQLCipher (rusqlite), OS Keychain (keyring)
Desktop Web UIReact + ViteReact 18, Vite 6Швидкий SPA інтерфейс користувача
Admin PortalNext.js (App Router)14.2.xSSR/SSG веб-панель керування платформою
UI Design Systemshadcn/ui + Tailwind CSSTailwind 3.4Компонентна система на основі Radix UI та HSL токенів
Iconslucide-reactLatestУніфіковані векторні іконки
ValidationZod + class-validatorZod 3.xДвостороння валідація DTO (і на фронтенді, і на бекенді)
i18n EngineКастомний Chunks LoaderReact Context100% локалізація (uk ⇄ en), ледача підгрузка JSON словників
Desktop E2E QA@playwright/test1.50.xАвтоматизоване тестування користувацьких сценаріїв десктопу
Admin E2E QA@playwright/test1.50.xТестування адмін-панелі за патерном Page Object Model (POM)
Backend E2E QAJest + supertestJest 29Інтеграційні E2E тести контролерів та CQRS хендлерів
Code StyleESLint 9 + PrettierFlat ConfigЄдиний стиль коду, автоматичне форматування (pnpm format)

📦 Спільний Пакет @smartfeed/shared

Пакет packages/shared компілюється в JavaScript та .d.ts декларації (pnpm build:shared). Він імпортується усіма додатками (services/backend-api, apps/admin-portal, apps/desktop) і містить:

  1. Контракти CQRS (contracts/cqrs.ts):
    • Інтерфейси сутностей (UserEntity, LicenseEntity, PresignedUploadUrlResult).
    • Корисні навантаження команд та запитів (CreateUserCommandPayload, UserCreatedEventPayload).
  2. DTO та Zod Схеми (dtos/):
    • auth.dto.ts: LoginDtoSchema, RegisterDtoSchema, AuthResponseDto.
    • license.dto.ts: LicenseDtoSchema, SelectTariffPlanDtoSchema.
    • tariff-plan.dto.ts: TariffPlanDtoSchema, CreateTariffPlanDtoSchema, UpdateTariffPlanDtoSchema.
    • navigation.dto.ts: NavigationItemDtoSchema, CreateNavigationItemDtoSchema.
  3. Перелічення Enum (enums/):
    • Role: SUPER_ADMIN, ADMIN, USER.
    • PlanType: STARTER, GROWTH, PRO, ENTERPRISE.
    • TargetApp: DESKTOP, ADMIN_PORTAL, ALL.