Skip to content

Обзор архитектуры

Описание платформы

MLM-платформа с инвестиционным маркетплейсом, товарным маркетплейсом и административной панелью MLM.

Технологический стек

  • Frontend: React + TypeScript
  • Backend: Node.js + TypeScript (NestJS)
  • База данных: PostgreSQL с расширением ltree
  • Кэш: Redis (опционально, для сессий/ограничения частоты запросов)
  • Очередь: pg-boss (нативная для PostgreSQL)

Структура проекта

iwm-platform/
├── apps/
│   ├── api/                        # Backend API (NestJS)
│   │   ├── src/
│   │   │   ├── core/              # Ядро, независимое от фреймворка
│   │   │   │   ├── domain/        # Базовые классы, интерфейсы
│   │   │   │   ├── errors/        # Доменные ошибки
│   │   │   │   └── utils/         # Чистые утилитарные функции
│   │   │   │
│   │   │   ├── shared/            # Сквозные модули
│   │   │   │   ├── auth/          # JWT, 2FA, сессии
│   │   │   │   ├── users/         # Управление пользователями
│   │   │   │   ├── notifications/ # Email, SMS, in-app
│   │   │   │   └── referral/      # Отслеживание атрибуции
│   │   │   │
│   │   │   ├── modules/           # Бизнес-модули
│   │   │   │   ├── investment/    # Инвестиционный маркетплейс
│   │   │   │   ├── product/       # Модуль электронной коммерции
│   │   │   │   └── mlm/           # Ядро MLM (партнёры, комиссии, ранги)
│   │   │   │
│   │   │   ├── infrastructure/    # Внешние адаптеры
│   │   │   │   ├── database/      # Конфигурация Prisma
│   │   │   │   ├── cache/         # Redis (опционально)
│   │   │   │   ├── queue/         # Воркеры pg-boss
│   │   │   │   ├── payments/      # Адаптеры Stripe, YooKassa
│   │   │   │   ├── delivery/      # Адаптеры CDEK, DHL
│   │   │   │   └── notifications/ # Адаптеры SendGrid, Twilio
│   │   │   │
│   │   │   └── main.ts
│   │   │
│   │   ├── prisma/                # Схема базы данных
│   │   └── package.json
│   │
│   └── web/                        # Frontend (React)
│       ├── src/
│       │   ├── modules/
│       │   │   ├── investment/    # UI инвестиций
│       │   │   ├── product/       # UI электронной коммерции
│       │   │   └── mlm-admin/     # UI панели управления MLM
│       │   ├── shared/            # Общие компоненты, хуки
│       │   └── App.tsx
│       └── package.json

├── packages/                       # Общие пакеты (опционально)
│   └── shared-types/              # TypeScript типы/интерфейсы

└── docker-compose.yml

Связанные документы