описание
Backend Developer (NestJS, PostgreSQL, Prisma)
Exams Question Bank MVP
Мы ищем backend-разработчика, который соберет чистый, стабильный и масштабируемый backend для MVP образовательного продукта. Фокус исключительно на backend: архитектура, API, база данных, авторизация, подписки и платежи. Проект уже структурирован, требования зафиксированы.
Формат работы
• Проектная работа под MVP с возможностью долгосрочного сотрудничества
• Удаленно
• Четкий scope и приемка по результату
Кого мы ищем
• Уверенный backend-разработчик
• Опыт с NestJS и PostgreSQL
• Понимание архитектуры REST API
• Опыт работы с платежами и webhooks
• Аккуратность, ответственность, умение доводить задачи до конца
Backend разрабатывается поэтапно:
Этап 1
Web-версия продукта и MVP (основной фокус на старте)
Этап 2
Подключение iOS-приложения на тот же backend
Без переписывания логики и API
Этап 3
Дальнейшее развитие и сопровождение backend
Новые фичи, оптимизация, масштабирование
Backend изначально проектируется как единая основа для web и iOS, с чистыми контрактами API и заделом под рост нагрузки.
Технологический стек
• Node.js 20+
• NestJS 10+
• TypeScript 5+
• PostgreSQL 15+
• Prisma 5+
• REST API
• JWT
• Magic link auth
• Docker
• Swagger OpenAPI
• Webhooks
• Payments integration (Tilda)
Что нужно сделать
Данные и база
• Перенести вопросы из CSV в PostgreSQL через Prisma
• Спроектировать схему данных с индексами и constraints
• Хранить rich text как JSON (TipTap)
• Формулы KaTeX хранятся в тексте, рендер на клиенте
API
• API для вопросов, прогресса, тестов и mock-экзаменов
• Пагинация и оптимизированные запросы
• Четкие DTO и валидация входных данных
Авторизация и доступ
• Magic link по email
• JWT access token
• Guards по ролям и подписке
• Роли доступа: guest, demo, subscriber, admin
Подписки и платежи
• Интеграция Tilda
• Webhook с проверкой секрета
• Идемпотентность по orderId
• Логирование payload
• Активация и продление подписок
Админская часть
• Минимальный admin API
• CRUD вопросов
• publish / archive
• bulk import
• базовая статистика
Backend архитектура
Модули NestJS:
• auth
• users
• subscriptions
• payments
• exams
• questions
• progress
• mock
• admin
• webhooks
• common (guards, filters, decorators)
• config
• prisma
Что важно
• Это MVP, но с продакшн-логикой
• Все требования описаны заранее
• Нет фронта, дизайна и UI
• Код идет в реальный продукт, а не выбрасывается после MVP
Будет плюсом
• Опыт с образовательными продуктами
• Опыт с Prisma на продакшн-проектах
• Опыт проектирования backend под мобильные приложения
• Понимание масштабирования и production-ready решений