Складчина: FastAPI [Тариф Самостоятельный] [Purpleschool] [Антон Ларичев]
Мы начнём с быстрого и практичного входа в FastAPI: разберём, зачем он нужен и где выигрывает у других фреймворков, настроим проект с использованием uv, запустим приложение через uvicorn и создадим первые роуты. По ходу вы научитесь работать с параметрами пути и запроса, статусами ответов, исключениями и классами Response, а также подключите линтер ruff. Уже на этом этапе вы поймёте философию FastAPI — как из простых функций быстро получать чистый, типизированный и предсказуемый API.
Далее мы перейдём к контрактам и архитектуре API. Вы глубоко разберёте Pydantic-модели, валидацию данных, разделение схем на Create/Update/Read, кастомные валидаторы и формат ошибок. На этой основе мы приведём OpenAPI-документацию в идеальный порядок: научимся работать со Swagger и ReDoc, описывать эндпоинты, responses и примеры, а также версионировать API. Параллельно вы освоите Dependency Injection в FastAPI, научитесь выносить бизнес-логику в сервисы, работать с конфигурацией, логированием и health-endpoint’ами, и выстроите слоистую архитектуру проекта.
В финальной части мы соберём полноценное backend-приложение, максимально приближённое к реальной продакшн-разработке. Вы подключите асинхронную SQLAlchemy, реализуете репозитории и миграции, разберётесь с транзакциями, пагинацией и целостностью данных. Затем добавите аутентификацию и авторизацию и middleware. В результате у вас будет не просто знание FastAPI, а целостное понимание того, как проектировать, реализовывать и поддерживать современный, масштабируемый backend-API.
После прохождения курса вы сможете:
- Проектировать backend на FastAPI с понятной архитектурой
- Создавать типобезопасные API-контракты на Pydantic
- Использовать Dependency Injection и разделять ответственность
- Работать с переменными окружения
- Настраивать логирование для разных окружений
- Писать асинхронный backend-код на async/await
- Работать с БД через асинхронную SQLAlchemy и репозитории
- Реализовывать аутентификацию и авторизацию пользователей
- Добавлять middleware и работать с DI
- Использовать миграции для с Alembic
Минимальные требования:
- Базовое знание Python
Технологии:
- Python
- FastAPI
- Pydantic
- Uvicorn
- SQLAlchemy
- Alembic
- PostgreSQL
Программа:
- Введение
- Настройка окружения
- Старт проекта
- Основы FastAPI
- Pydantic
- OpenAPI
- Dependency Injection
- Конфигурация приложения
- Логирование
- Работа с базой данных
- CRUD операции
- Авторизация
- Middleware и Dependency
Спойлер: Программа подробно 1. Введение
- О FastAPI
- Как устроен курс
- Обзор проекта
- Проект домашних заданий
- Обзор курсов
- Работа на платформе
- AI и тренажёры
- Рекомендуемый курс
2. Настройка окружения
- Настройка проекта
- Установка Python MacOS
- Установка Python Linux
- Установка Python Windows
- Pyenv
- Настройки VSCode
- uv
- Домашнее задание AI
- Работа с gitflow
3. Старт проекта
- Создание проекта
- uvicorn
- Первый роут
- just
- ruff
- Запросы на сервер
- Методы и коды ответов
- Тест — Старт проекта
- Занятие — Старт проекта
- Домашнее задание — Старт проекта
4. Основы FastAPI
- Response классы
- Обработка исключений
- Типы возвращаемых данных
- Path параметры
- Query параметры
- Body
- Структура проекта
- Создание роутера
- Упражнение — Случайное число
- Тест — Основы FastAPI
5. Pydantic
- Введение в Pydantic
- model_validator
- Валидация body
- field_validator
- Response model
- model_config
- Path model
- Упражнение — Обновление проекта
- Тест — Pydantic
6. OpenAPI
- Swagger OpenAPI и ReDoc
- Упражнение — Базовая документация
- Summary description tags
- Версионирование API
- Модель зрелости API
- Тест — OpenAPI
7. Dependency Injection
- Что такое DI
- Layer архитектура
- Базовый механизм Depends
- Dependency Graph
- Жизненный цикл зависимостей
- Упражнение — API роут для задач
- Упражнение — DI для задач
- Тест — Dependency Injection
8. Конфигурация приложения
- О конфигурации
- pydantic-settings
- Внедрение настроек
- Валидация при запуске
- Валидация схемы
- Упражнение — Добавление секрета
- Тест — Конфигурация приложения
9. Логирование
- Цель логирования
- Уровни логирования
- logging
- Formater
- Формат логов
- basicConfig
- log_config
- extra
- Логирование ошибок
- Упражнение — Конфиг для прода
- Тест — Логирование
10. Работа с базой данных
- Развёртка PostgreSQL
- Выбор библиотеки
- Установка SQLAlchemy
- Подключение к базе
- Запросы в сессии
- Модели
- Установка Alembic
- Первая миграция
- Запись в базу
- Тест — Работа с базой данных
11. CRUD операции
- Create
- Read
- Update
- Delete
- Упражнение — Модель задачи
- Связь моделей
- Упражнение — Создание задачи
- Упражнение — Получение задач
- Limit и Offset в SQL
- Реализация поиска
- Упражнение — Фильтр по проекту
- Тест — CRUD операции
12. Авторизация
- Работа JWT
- Модель пользователя
- Хэширование пароля
- Регистрация
- Логин
- Генерация JWT
- Упражнение — Возврат токена
- Тест — Авторизация
13. Middleware и Dependency
- Что такое middleware
- Создание первой Middleware
- Dependency vs Middleware
- Middleware аутентификации
- Итоговая аутентификация
- Связь многие ко многим
- Доработка создания
- Упражнение — Проверка владения
- Развитие проекта
- Тест — Middleware и Dependency
Тариф Самостоятельный
- Уроки и упражнения
Цена 3999 руб.