Разработка GraphQL API (Node.js + Apollo Server)
Задача — построить GraphQL API, который заменит наш текущий REST и станет единой точкой данных для мобильного приложения на React Native и веб-SPA на React. Нам не нужен ещё один набор ручек поверх старого кода — нужен продуманный граф, спроектированный с нуля, поэтому и требуется разработчик, у которого за плечами боевые запуски Apollo Server, а не только учебные примеры. Ключевые ожидания: аккуратная типизация, предсказуемая скорость ответов и отсутствие проблемы N+1 при выборке связанных сущностей.
В проекте нужно закрыть все слои сразу. Это схема по принципу type-first для основных сущностей, резолверы с оптимизированными запросами к PostgreSQL, аутентификация по JWT через context и авторизация на уровне отдельных полей под разные роли. Отдельно — реалтайм на WebSocket-подписках для статусов заказа и уведомлений, а также защита от тяжёлых запросов через ограничение глубины и сложности и persisted queries для мобильных. Мы хотим не просто рабочий сервер, а сервер, который не уронят кривым запросом с клиента.
Так как это замена живого API, отдельно ценим внятный план миграции и документацию для команды. В отклике покажите похожий проект и подход к производительности. Состав работ ниже.
Схема и типы
— User, Product, Order, Review, Notification
— Мутации и Query-резолверы
— Кастомные скаляры и Enum-типы
Реализация
— Apollo Server 4 + Express
— DataLoader (избежание N+1)
— JWT через context, авторизация на уровне полей
— WebSocket-подписки (статус заказа, уведомления)
Качество
— Ограничение глубины запросов
— Оптимизация PostgreSQL (EXPLAIN ANALYZE)
— Юнит-тесты (Jest + Supertest)
— Apollo Studio интеграция
Документация
— Документированная схема
— Postman-коллекция
— Миграционный гайд с REST
В проекте нужно закрыть все слои сразу. Это схема по принципу type-first для основных сущностей, резолверы с оптимизированными запросами к PostgreSQL, аутентификация по JWT через context и авторизация на уровне отдельных полей под разные роли. Отдельно — реалтайм на WebSocket-подписках для статусов заказа и уведомлений, а также защита от тяжёлых запросов через ограничение глубины и сложности и persisted queries для мобильных. Мы хотим не просто рабочий сервер, а сервер, который не уронят кривым запросом с клиента.
Так как это замена живого API, отдельно ценим внятный план миграции и документацию для команды. В отклике покажите похожий проект и подход к производительности. Состав работ ниже.
Схема и типы
— User, Product, Order, Review, Notification
— Мутации и Query-резолверы
— Кастомные скаляры и Enum-типы
Реализация
— Apollo Server 4 + Express
— DataLoader (избежание N+1)
— JWT через context, авторизация на уровне полей
— WebSocket-подписки (статус заказа, уведомления)
Качество
— Ограничение глубины запросов
— Оптимизация PostgreSQL (EXPLAIN ANALYZE)
— Юнит-тесты (Jest + Supertest)
— Apollo Studio интеграция
Документация
— Документированная схема
— Postman-коллекция
— Миграционный гайд с REST