Maslite

// B2B //// E-commerce //// Multi-tenant //// CRM //// Смазочные материалы //// Дистрибьюция //// 1С Integration //// EDO //// React //// Supabase //
B2B Portal — каталог и подбор промышленных масел

Maslite — корпоративная B2B-платформа электронной коммерции для производителей и дистрибьюторов промышленных смазочных материалов. Это не «магазин на WooCommerce», а полноценная экосистема для работы с дилерской сетью: каталог с динамическим ценообразованием, заказы со встроенным workflow-согласованием, финансы с PDF-счетами и анализом просрочки, логистика с СДЭК/ПЭК/Деловые Линии, real-time CRM с Kanban-воронкой, интеграции с 1С через OData и электронным документооборотом. Заменяет Excel-таблицы, ручную переписку и бумажный документооборот единой цифровой платформой с ролевым доступом.

Проблема и контекст

Производители промышленных смазочных материалов — масел, пластичных смазок, специальных жидкостей — работают с дилерской сетью традиционным способом: email с прайсами в Excel, бумажные счета и акты, ручная переписка по согласованию цен, отсутствие видимости остатков на складах дилеров. Каждое расхождение цифр требует часов согласований. Дилер не может посмотреть статус заказа без звонка менеджеру. Корпоративные клиенты вынуждены каждый раз заново заполнять реквизиты. Maslite убирает этот ручной слой полностью — у дилера и корпоративного покупателя есть личный кабинет, у производителя — единая CRM с историей и аналитикой.

Что построено

Maslite — это монорепо из 37+ микросервисов на одной платформе: каталог и категории, динамическое ценообразование с прайс-листами и персональными ценами по дилерам, корзина (двухрежимная: localStorage для гостей и БД для авторизованных), заказы с автоматическим одобрением до 100 000 ₽ и approval-workflow согласования, финансы (PDF-счета с поддержкой кириллицы через PDFKit, балансы, кредитные лимиты, aging analysis просрочки, акты сверки), логистика (СДЭК, ПЭК, Деловые Линии, трекинг, split shipment, самовывоз с расчётом маршрутов), CRM (карточка 360°, Kanban-воронка, задачи с SLA, real-time чат, тикеты, email и Web Push уведомления), маркетинг (промокоды, скидки по объёму, кампании с таргетингом, аналитика), интеграции (1С через OData, EDO Диадок/СБИС, Bitrix24 ETL, YooKassa webhook), LMS (курсы с видеоуроками, тесты, сертификация, геймификация).

Архитектура и технологии

Фронтенд — React 18.3 + TypeScript 5.7 на Vite 5, 226 страниц и 175 компонентов на shadcn/ui + Radix UI + Lucide. Состояние через TanStack Query с настроенным кэшированием (staleTime 2 мин, gcTime 10 мин). Tailwind CSS v4 с @theme inline и oklch-цветами в шести тематических пресетах. Framer Motion для анимаций, Recharts для аналитики, Leaflet для карт, @dnd-kit для Kanban, TipTap для rich-text. Локализация i18next (RU/EN). Бэкенд — Node.js 20 + Express 4.21, 202 маршрута и 354 сервиса в паттерне routes → services → Supabase, валидация на Zod, PDF на PDFKit с Unicode-кириллицей, email через Nodemailer + Handlebars (6+ шаблонов), Web Push на VAPID, логи Winston, rate limiting и обширный middleware (auth с JWT + RBAC, validation, error-handling, helmet, cors). Тесты — Vitest (unit) и Playwright (E2E). База — self-hosted Supabase (PostgreSQL 15) с RLS, 200+ таблиц и 360+ миграций.

Ключевые фичи

  • Мультитенантность: несколько производителей могут работать на одной платформе с полной изоляцией данных
  • Ролевой доступ из 5 ролей (admin, product_expert, merchandiser, sales_manager, company_employee) с гранулярным RBAC
  • Real-time обновления через Supabase Realtime: чат, уведомления, синхронизация остатков
  • Approval workflow заказов: автоматическое одобрение до 100К, ручное согласование менеджерами выше
  • Динамическое ценообразование с формулами, персональными ценами по дилерам и A/B-тестами
  • Федерация API для cross-tenant взаимодействия — задел под биржу дилеров
  • Интеграция с 1С через OData в обе стороны (push/pull) с синхронизацией остатков и заказов
  • EDO через Диадок и СБИС, готовые webhook-эндпоинты YooKassa и СБП
  • AI Copilot в разработке: L0 runtime (LLM + RAG), L1 360°-контекст клиента, L2 поведенческие профили
  • Workflow Engine в разработке: триггер → условие → действие с DLQ и dry-run-режимом

Безопасность

Аутентификация на JWT через Supabase GoTrue с access/refresh токенами и auto-refresh. Авторизация двойная: RBAC по ролям на бэкенде плюс RLS на уровне PostgreSQL. Валидация через Zod-middleware с типизацией body/query/params. Rate limiting: 10 req/min на auth-эндпоинтах, настраиваемые лимиты на остальных. HTTPS с Let's Encrypt, security-headers через Helmet (CSP, HSTS, X-Frame-Options, X-Content-Type-Options). Изоляция данных компаний через RLS-политики. HMAC для pixel-tracking и webhook-верификации YooKassa и EDO. SSRF-защита для внешних URL с allowlist через env.

Production и DevOps

Версия 0.5.0 (RC к 1.0.0), в продакшене на api.center-oil.ru. Развёрнут на Timeweb Cloud — Ubuntu 24.04, 8 GB RAM, 15 Docker-контейнеров (backend + полный Supabase-стек). Nginx с Let's Encrypt SSL, GitHub Actions CI/CD (Docker build → deploy → health-check), Timeweb App для фронтенда (auto-build из GitHub). Ежедневные S3-бэкапы (14d daily / 8w weekly / 12m monthly) БД, бэкенда и Nginx-конфигов. Health-эндпоинты: `/health` (быстрый) и `/health/deep` (Kong → PostgREST → БД). Активная разработка — за последний месяц закрыто 50+ GitHub Issues в категориях Equipment Enrichment, B24 Migration, Tenant Backup, Knowledge Base, Consultation, Chat, Help Center.

Производитель и дилер должны видеть одни и те же цифры в реальном времени — без email-цепочек и Excel-таблиц. Это и есть цифровая B2B-коммерция.
// Начнём сотрудничество //
Олег Чернышов
+
Вы

Обсудим вашу задачу?

Расскажите о ситуации в компании — вместе определим, чем могу быть полезен и с чего начать.

Контакты