REST API на Django REST Framework: каталог, заказы, JWT
REST API витрины: каталог, заказы, JWT и защита от гонки на последний SKU.
Django, DRF, JWT, PostgreSQL
Я делал REST API на Django REST Framework для витрины и мобильного приложения: каталог, корзина, заказы, профили. Фронт — отдельный, бэкенд отдаёт JSON и OpenAPI.
Я описал ресурсы через serializers и viewsets: вложенные позиции заказа, частичные PATCH, валидация остатков на уровне транзакции. Я написал JWT-аутентификацию (access/refresh), ротацию refresh, отзыв сессий, throttling по анониму и по пользователю.
Я закрыл гонки: два одновременных заказа на последний SKU не уходили в минус — select_for_update и идемпотентный ключ на создании заказа. Я собрал фильтры, курсорную пагинацию каталога и кэш витрины в Redis с инвалидацией по сигналам модели.
Я вывел версионирование /api/v1/, CORS под конкретные origin, аудит критичных методов. Стек: Django, DRF, SimpleJWT, PostgreSQL, Redis, Gunicorn, Docker. NDA: продукт не публикуется.