Чему вы научитесь
- Работать с фреймворком FastAPI
- Писать свои API сервисы
- Валидировать данные через Pydantic
- Научитесь асинхронно работать с БД через SQLAlchemy и выполнять миграции используя Alembic
- Создавать аутентификацию на основе базовых методов и OAuth2 и JWT
- Упаковывать FastAPI в Docker Compose
- Выполнять деплой проектов на сервер
О курсе
Раздел 1: «Введение в API» мы познакомимся с API, архитектурой REST API. Изучим основные HTTP методы и коды ответа сервера.
Раздел 2: «Знакомство с FastAPI» мы познакомимся с основами FastAPI и создадим свое первое API, возвращающее "Hello World". Также мы подробно изучим процесс создания конечных точек с использованием системы маршрутизации в FastAPI. И научимся валидировать параметры, получаемые из пути и тела запросов.
Раздел 3: «Создание CRUD-приложения на FastAPI» мы спроектируем и реализуем простой CRUD проект. Познакомимся с основными методами запросов GET, POST, PUT, DELETE, научимся создавать и валидировать модели класса Pydantic. Изучим моделирование ответов, обработку ошибок и коды состояния. Обсудим, как можно использовать шаблоны Jinja для создания представлений и вывода ответов из API.
Раздел 4: «Внедрения зависимостей» мы рассмотрим шаблон внедрения зависимостей, используемый FastAPI для управления экземплярами и структурой проекта с помощью директивы Depends() и сторонних модулей расширения.
Раздел 5: «Интернет магазин на FastAPI» мы рассмотрим основные возможности FastAPI, научимся правильно структурировать проект. Узнаем об использовании APIRouter для организации проектов. Создадим подключение к БД через SQLAlchemy, научимся использовать Alembic для выполнения миграций. Научимся использовать сессии и напишем свои первые запросы, которые в дальнейшем мы сделаем асинхронными. Реализуем аутентификацию используя HTTP Basic Auth, OAuth2, и научимся генерировать JWT токен. Где в дальнейшем будем использовать его, для проверки прав доступа к различным конечным точкам нашего API.
Раздел 6: «Продвинутые возможности в FastAPI» мы рассмотрим версионирование API сервисов, логгирование. Изучим возможности промежуточного ПО, CORS, Session. Также рассмотрим Celery и Redis для создания и управления асинхронными фоновыми задачами. И в заключении раздела напишем веб чат используя FastAPI и WebSocket.
Раздел 7: «Docker + FastAPI» мы рассмотрим основные концепции Docker и на примере создадим свой контейнер с Python проектом. Далее мы упакуем FastAPI, PostgreSQL, NGINX в контейнеры и подготовим проект к деплою.
Раздел 8. «Деплой проекта через Docker» мы рассмотрим деплой проекта FastAPI, вместе с базой данных PostgreSQL, веб сервером Gunicorn и Nginx на контейнерах Docker с Compose.
Для кого этот курс
Курс будет полезен для заинтересованных в создании веб-API используя FastAPI.
Начальные требования
Обладать хорошими практическими знаниями Python и иметь знания HTML, SQL. Желательно наличие знаний SQLAlchemy.
Наши преподаватели
Как проходит обучение
Курс состоит из лекций по теории, тестов, практических заданий(задач) и лекций по практическому созданию веб-проекта. Шаг за шагом, мы будем совместно создавать и добавлять функциональность для него.
Программа курса
Сертификат
Что вы получаете
- Навыки по созданию API используя FastAPI