Тестовое задание для Backend Developer (Python)
Описание
Создать REST API на FastAPI с интеграцией внешнего API, авторизацией и деплоем на бесплатный хостинг.
Требования
1. API функционал
- Интеграция с любой бесплатной публичной API, например:
- Создать несколько эндпоинтов:
- Тестовый эндпоинт для проверки интеграции с внешним API.
- CRUD-эндпоинты для работы с локальной базой данных (SQLite или PostgreSQL):
- Пример: сохранение данных из внешнего API в базу и их последующий вывод.
- Основной эндпоинт, который демонстрирует связку локального API и внешнего API.
- Валидация входных данных с использованием Pydantic.
2. Авторизация
- Некоторые эндпоинты должны быть защищены и требовать передачи
access_token
в заголовке запроса.
- Реализовать простой механизм авторизации с использованием JWT.
3. Документация
- Реализовать автодокументацию API с использованием встроенного Swagger в FastAPI.
- Описать параметры, запросы и возможные ответы для всех эндпоинтов.
4. Интеграция
- Вынести логику работы с внешним API в отдельный модуль или сервис.