FastAPI для профессионалов: Онлайн-школа на чистой архитектуре
О чём курс
Этот практический курс представляет собой интенсивное погружение в разработку Backend-систем на FastAPI, ориентированное на создание полноценной образовательной платформы. Программа разработана для разработчиков, которые стремятся выйти за рамки простых API и освоить проектирование архитектурно сложных, масштабируемых систем. Особенностью курса является полное отсутствие видеолекций: обучение строится на глубокой практической работе с кодом, что позволяет максимально сфокусироваться на реализации бизнес-логики и архитектурных паттернов.
В процессе обучения вы пройдете путь от проектирования базовой структуры до внедрения продвинутых функций, таких как интерактивные тесты, системы кодовых задач с автоматической проверкой и аналитические модули. Вы научитесь применять Clean Architecture, разделяя систему на слои domain, application, infrastructure и delivery, что обеспечит чистоту кода и легкость его поддержки. Особое внимание уделяется реализации паттернов Use Cases, Repository и Unit of Work, а также работе с SQLAlchemy и миграциями баз данных.
Курс дает комплексные навыки: вы научитесь настраивать JWT-аутентификацию и систему ролевого доступа, писать качественные unit, integration и end-to-end тесты, а также работать с очередями и брокерами сообщений. Важной частью программы является разработка Docker-runner для безопасного исполнения пользовательского кода, что является критически важным навыком для создания образовательных платформ с поддержкой программирования. Вы также научитесь оптимизировать производительность системы с помощью индексов и кеширования.
На выходе вы получите готовый проект образовательной платформы с продуманной архитектурой, который можно использовать как основу для собственных разработок или портфолио. Курс идеально подходит тем, кто предпочитает текстовый формат обучения и хочет получить глубокие знания о том, как строить надежный, тестируемый и масштабируемый backend на современном стеке Python. Весь код проекта доступен на GitHub, что позволяет изучать реализацию каждого компонента в деталях.
Программа обучения
- MVP: Обзор проекта, стека и маршрута разработки Clean Architecture на практике
- Структура проекта: каркас, пакеты, стандарты
- Конфигурация и ошибки: фундамент production-подхода
- Сущность Course как бизнес-ядро
- Сущности Modules, Sections и структура курса
- Сущность Lecture и учебный материал
- Сущность User и роли: модель доступа
- Read-сценарии: первые Use Cases
- Write-сценарии: управление контентом через Use Cases
- Контракты слоёв: интерфейсы, границы, ответственность
- Persistence: ORM отдельно, домен отдельно
- Репозитории: доступ к данным
- Unit of Work: транзакции как часть архитектуры
- Миграции базы данных и инфраструктура
- FastAPI как слой доставки
- Эндпоинты чтения
- Эндпоинты управления
- OpenAPI: документация, теги, схемы ошибок
- Аутентификация: регистрация, логин, JWT
- Авторизация: роли, доступы, защита маршрутов
- Практическое тестирование проекта
- Автоматизированное тестирование проекта (Unit тесты)
- Интеграционное тестирование и End-to-End тесты
- Домашнее задание
- Интерактивное обучение: тесты, попытки, прогресс: Точка входа во второй модуль: от контента к активности
- Роли второго этапа: кто создает, кто проходит, кто управляет
- Cущность Question
- Сущность AnswerOption и варианты ответа
- Формы ответа: одиночный и множественный выбор
- Сущность QuestionAttempt и прохождение тестов
- Результаты теста, баллы и статус
- Авторские сценарии для тестов
- Домашнее задание
- Пользовательские сценарии прохождения
- Прогресс обучения как новая часть домена
- Баллы и учебная мотивация
- Persistence интерактивного этапа: ORM, репозитории, UoW
- FastAPI для интерактивного этапа: роуты, зависимости, схемы
- Практическое тестирование интерактивного этапа
- Автоматизированное тестирование тестового этапа
- Домашнее задание
- Кодовые задачи и Docker-runner: Точка входа в этап задач
- Сущность Task
- Попытка решения и история отправок
- Правила проверки простых задач
- Роли, владелец и доступы в домене задач
- Авторские сценарии простых задач
- Пользовательские сценарии простых задач
- Контракты и инфраструктурные границы
- Persistence простых задач и развитие схемы
- Кодовые задачи, сущность CodeTask
- Отправка кода и жизненный цикл проверки
- Авторские сценарии кодовых задач
- Application-слой кодовых задач
- Очередь и worker
- Среда исполнения: Docker-runner и артефакты проверки
- Безопасность и отказоустойчивость проверки кода
- Прогресс кодовых задач и итоговая учебная модель
- FastAPI и сценарии проверки задач
- Практическое тестирование этапа задач
- Внешний брокер и реальная очередь
- Поддержка других языков программирования в задачах
- Практическое тестирование этапа задач, ч.2
- Автоматизированное тестирование этапа задач
- Домашнее задание
- Платформенные сценарии вокруг обучения: Жизненный цикл курса: draft, published, archived
- Бизнес-сценарий публикации курса
- Каталог курсов и карточка курса
- Обложка, описание, сложность и теги курса
- Домашнее задание
- Поиск по каталогу курсов
- Фильтрация по темам, тегам и сложности
- Профиль пользователя
- Аналитика для студента: завершение, баллы, слабые места
- Домашнее задание
- Аналитика для автора: прохождение, сложные вопросы и задачи
- Рейтинг и отзывы о курсе
- Домашнее задание
- История активности студента по платформе
- Индексы, оптимизация чтения
- Кеширование контента
Теги курса
Другие материалы автора 6
ИП Илья Перминов Все материалыОтзывов пока нет. Будьте первым!
Этот курс сейчас в процессе организации складчины. Нажмите кнопку «Записаться» и ожидайте старта — вам придёт уведомление. Когда складчина стартует, в карточке курса будет указан актуальный взнос. Текущая цена пока в процессе формирования и может отличаться от финальной.
Да, мы стремимся, чтобы финальный взнос был не больше ≈10% от оригинальной цены курса. Чем больше участников записывается в складчину, тем ниже выходит взнос для каждого.
Нажмите кнопку «Записаться» и авторизуйтесь на сайте через email (через ту же почту, которую будете использовать для входа). В личном кабинете вас будут ждать инструкции, как пригласить других участников — чем больше людей записалось, тем быстрее стартует складчина и тем ниже взнос. Как только складчина готова к приобретению, вам придёт уведомление.