Middle Backend Developer
Описание проекта:
Авторская оффлайн-методология, для тренировок и улучшения навыков продаж участников SWC (Sales Workshop Center), в форм-факторе сайта и мобильного приложения. Цель – создать универсальную среду для системных тренировок внутри SWC, чтобы каждый участник мог отрабатывать навыки пошагово, по структурированной и проверенной программе.
Чуть больше деталей:
- Основано на проверенной с 2013 года оффлайн-методике, применённой в сотнях компаний по всему миру
- Используются ролевые карточки для воспроизведения ≈50 профилей покупателей
- Студент и тренер исполняют роли покупателя и продавца поочередно
- Предусмотрен ИИ-тренер, имитирующий клиента или тренера
- Наглядная и достоверная оценка прогресса
- Адаптация учебной программы под требующие доработки аспекты.
Другими словами, это цифровой тренажёр, усиливающий методологию SWC и дающий участникам практический, измеримый результат.
Каркас сервера:
NestJS (TypeScript)
• Модульная архитектура, встроенный DI, валидация (class‑validator), Swagger‑документация
REST API (через NestJS‑controllers)
Аутентификация/авторизация:
• JWT (jsonwebtoken) для взаимодействия frontend–backend
• Приём SMS‑OTP через Twilio
Реальное время (обновление статуса сессий/чек‑листов в режиме live):
• Socket.IO (NestJS‑Gateway)
Основная СУБД: PostgreSQL
ORM/миграции: Prisma
Кэш и Pub/Sub: Redis
Хранилище файлов (карточки, журналы, PDF‑бланки): Google Firebase
CI/CD: GitLab CI
Контейнеризация: Docker + docker‑compose
Мониторинг и логирование: Sentry (ошибки JS/Node) + Loggly для логов сервера
Тестирование:
• Jest + React Testing Library для UI,
• Supertest для e2e запросов к API,
• Cypress для end‑to‑end сценариев (регистрация, тренировка, отчёт).
Требования:
- 3+ года разработки на Node.js
- 1+ год опыта с NestJS
- Глубокое знание TypeScript
- Практический опыт работы с:
- Реляционными БД (PostgreSQL)
- ORM (Prisma/TypeORM)
- WebSockets (Socket.IO)
- Redis (кэширование, очереди)
- Опыт проектирования REST API
- Понимание принципов CI/CD.
Готовность к наставничеству джунов.
Команда:
Тимлид, менеджер проекта, junior разработчики.
Дополнительно:
На проекте используется трекер TopTal.
Это удаленный формат, с занятостью 4 часа в день максимум.