Сервис управления заказами, техническое задание на позицию "Python Backend Developer". Текст задания доступен прямо в репозитории.
Безопасность:
- JWT аутентификация (OAuth2 Password Flow)
- Ограничение кросс-доменных запросов на основе CORS Middleware
- Rate Limiting Middleware на основе плавной версии алгоритма "the sliding window"
- Защита от SQL инъекций
Компоненты:
- Очереди сообщений на RabbitMQ
- Фоновая обработка задач на Celery
- Кэширование ответов на Redis
- Миграции на Alembic
- Docker для инфраструктуры
- Ядро на FastAPI, Pytest тесты, все взаимодействия асинхронны
- Виртуальное окружение, его активация:
python3.11 -m venv venv,source venv/bin/activate - Установка зависимостей:
python -m pip install -r requirements.txt - Вся инфраструктура находится в Docker контейнерах. Для сборки и запуска:
docker compose up -d - Миграции:
make migrate - Приложение опирается на Celery для выполнения фоновых задач. Скрипт для запуска:
make celery-worker - Осталось только запустить сам сервер:
make up
Swagger UI документация с описанием всех методов приложения доступна локально: http://localhost:8000/docs