Антон Наумов anton20n Сбер ID
"Мир меняется, когда я нажимаю 'Запустить'."
Рейтинг
218
№ 5 740 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Город
Санкт-Петербург
Опыт работы
3 года
На сайте с
2023 года
Юридический статус
Самозанятый

API Gateway для SaaS-сервисов

Используемые навыки API Django Python

Описание

Платформа, где разработчики регистрируются, получают API-ключи для доступа к сервису, управляют подпиской. Реализованы: JWT-авторизация, документация Swagger, интеграция с платежной системой (Stripe/ЮKassa), лимитирование запросов (rate limiting), админ-панель для статистики использования.

Решение

Создано веб-приложение на Django с архитектурой Model-View-Template, разделенное на приложения users, api_keys, billing.

Использована кастомная модель пользователя с полями подписки и лимитов запросов.

Генерация API-ключей выполнена через secrets.token_urlsafe, ключи хранятся в хэшированном виде, доступ к ним предоставляется через отдельный endpoint.

Для управления тарифами интегрирована платежная система Stripe (ЮKassa) через webhooks: после успешной оплаты подписка активируется, при неоплате — отключается.

Реализована система rate limiting на уровне middleware с использованием Redis: каждый запрос проверяет лимиты пользователя по тарифу.

Документация API сгенерирована через drf-yasg (Swagger). Админ-панель дополнена графиками использования (библиотека chart.js).

Результат

Демонстрация коммерческого продукта с полным циклом: регистрация, платежи, выдача ключей, аналитика.

Оценили проект:

Другие проекты

Все проекты →
Дизайн и Брендинг Разработка логотипа для бренда
Разработка логотипа для бренда
85
Дизайн и Брендинг Создание визуализаций конференц-зала
Создание визуализаций конференц-зала
71
Веб-разработка и IT Автоматизация финансовой отчетности: Конвертер Excel в PDF с графиками
Автоматизация финансовой отчетности: Конвертер Excel в PDF с графиками
69
Веб-разработка и IT SmartTracker — бот для отслеживания цен на Ozon/Wildberries
SmartTracker — бот для отслеживания цен на Ozon/Wildberries
122