гора.
E-commerce / автозапчасти

Jusmila — каталог мото-запчастей в Литве

E-commerce запчастей для мотоциклов, квадроциклов и мопедов: монорепо из трёх приложений, скрейпинг через chrome-devtools MCP, локальный склад в Шакяе.

Регион
Литва, Шакяй
Роль
Fullstack-разработчик, архитектура
Период
2026
Ниша
E-commerce / автозапчасти

Все технические детали извлечены из публичных артефактов проекта и сайта jusmila.lt. Внутренние бизнес-метрики (выручка, маржинальность, объём заказов) не публикуются.

Это сводка по проекту. Дальше — три параллельных рассказа: бизнес-логика, обзор админки, технический стек.

Каждый раздел самодостаточен.

Что внутри

  • Три приложения в монорепо: публичная витрина (Next.js), админка (Vite + React), API (NestJS).
  • 10 000+ запчастей в каталоге; импорт из нескольких источников через типизированные скрипты.
  • Скрейпинг каталога через chrome-devtools MCP — не Puppeteer, не Playwright. Обход анти-бот защит через реальный браузер.
  • Мультиязычность через next-intl; мото-ниша требует литовский + русский + английский.
  • Real-time через Socket.IO с Redis adapter — обновления остатков и статусов заказов между админкой и витриной.
  • Session replay в админке через rrweb-player для разбора сложных багов и UX-проблем клиентов.
  • Leaflet-карты в админке — для маршрутов доставки и зон обслуживания.
  • Throttler и rate-limiting на API; bcrypt + JWT для аутентификации.

Стек

  • Turborepo monorepo
  • Next.js 14 + next-intl
  • React 18
  • Tailwind CSS v4
  • TanStack Query
  • Framer Motion
  • Zustand
  • NestJS 10
  • TypeORM
  • PostgreSQL 16
  • Redis
  • Socket.IO + Redis adapter
  • JWT + Passport
  • Swagger
  • Vite 6 (admin)
  • Leaflet (карты)
  • jsPDF
  • rrweb-player
  • Recharts
  • chrome-devtools MCP (скрейпер)
  • nginx
  • 21—27 сентября 2026Витрина показывает статус shipped с трек-номером и состоянием посылки. Первый релиз реформы статусов.
  • 21—27 сентября 2026Админ платформы видел пустые отчёты. Фильтр по storeId теперь берёт значение правильно.
  • 21—27 сентября 2026Админ может отвечать на запросы прямо в интерфейсе. Раньше нужна была внешняя почта.
  • 14—20 сентября 2026Языковой переключатель в шапке: эндонимы вместо флагов, реальные ссылки вместо router.replace.
вся хроника по Jusmila →