Мы используем cookie для стабильной работы сервиса. Подробнее

FastAPI для профессионалов: Онлайн-школа на чистой архитектуре

ФорматОнлайн
Длительность5-8
Объём5 занятий
О курсе

Подробнее

Это практический курс по разработке современных backend-систем на FastAPI с использованием Clean Architecture. Вместе мы создадим полноценную образовательную платформу: от MVP и системы курсов до тестирования, кодовых задач и аналитики. Вы научитесь проектировать масштабируемую архитектуру, работать с SQLAlchemy, JWT, ролями, очередями, Docker-runner и автоматизированным тестированием. Курс ориентирован на разработчиков, которые хотят выйти за рамки простых CRUD-приложений и научиться строить сложные backend-проекты. В курсе предусмотрено 7 домашних заданий, каждое из которых я проверяю лично. Вы получите не формальную отметку о выполнении, а подробную обратную связь по своему решению: разбор ошибок, рекомендации по улучшению кода и пояснения по спорным моментам. Код проекта, который создается в рамках курса, вы можете посмотреть на GitHub. Модуль 1: «MVP» мы спроектируем и реализуем первую рабочую версию онлайн-школы на FastAPI с опорой на Clean Architecture. Разберем структуру проекта, разделим домен, application, persistence и delivery-слои, настроим конфигурацию, ошибки и инфраструктурную основу. Реализуем ключевые сущности Course, Module, Section, Lecture и User, добавим роли пользователей и базовую модель доступа. Построим read- и write-сценарии через Use Cases, оформим контракты слоев, подключим ORM, репозитории, Unit of Work и миграции базы данных. Затем вынесем функциональность в FastAPI-эндпоинты, оформим OpenAPI-документацию, реализуем JWT-аутентификацию, авторизацию и защиту маршрутов. В завершении раздела проведем практическое, unit, интеграционное и end-to-end тестирование проекта. Модуль 2: «Интерактивное обучение: тесты, попытки, прогресс» мы расширим MVP интерактивной частью и перейдем от простого контента к активному обучению. Реализуем роли для авторов, студентов и управляющих пользователей, добавим сущности Question, AnswerOption и QuestionAttempt. Научимся поддерживать одиночный и множественный выбор ответов, фиксировать попытки прохождения тестов, рассчитывать результаты, баллы и статусы. Построим авторские сценарии создания тестов и пользовательские сценарии прохождения, добавим прогресс обучения как часть доменной модели и обсудим учебную мотивацию через баллы. Также реализуем persistence-слой интерактивного этапа, FastAPI-роуты, зависимости и схемы, после чего протестируем модуль вручную и с помощью автоматизированных тестов. Модуль 3: «Кодовые задачи и Docker-runner» мы добавим в платформу практические задания и систему автоматической проверки решений. Начнем с домена простых задач: реализуем сущность Task, попытки решений, историю отправок, правила проверки, роли, владельцев и доступы. Затем перейдем к кодовым задачам: создадим сущность CodeTask, сценарии отправки кода, application-слой проверки и жизненный цикл результата. Настроим очередь и worker для асинхронной обработки, разработаем Docker-runner для безопасного исполнения пользовательского кода и сохранения артефактов проверки. Отдельно рассмотрим безопасность, отказоустойчивость, внешний брокер, реальную очередь и поддержку разных языков программирования. В конце раздела подключим FastAPI-слой, обновим учебный прогресс и протестируем этап задач вручную и автоматически. Модуль 4: «Платформенные сценарии вокруг обучения» мы превратим проект в более полноценную образовательную платформу вокруг курсов, студентов и авторов. Реализуем жизненный цикл курса со статусами draft, published и archived, бизнес-сценарий публикации, каталог курсов и карточку курса. Добавим обложку, описание, сложность, теги, поиск и фильтрацию по темам, тегам и уровню сложности. После этого построим аналитику для студента и автора: завершение курса, баллы, слабые места, прохождение, сложные вопросы и задачи. Также реализуем рейтинги, отзывы, комментарии, обсуждения под лекциями и историю активности студента. В завершении раздела оптимизируем чтение данных с помощью индексов и кеширования контента.
Требования

Что нужно для старта

  • Базовое знание Python: функции, классы, ООП, работа с модулями
  • Понимание основ HTTP и REST API
  • Знание работы FastAPI, SQLAlchemy
  • Базовое понимание асинхронности в Python желательно, но не обязательно
  • Желательно прохождение курса - FastAPI для начинающих, а так же курса - Продвинутый FastAPI для продолжающих, и курса - SQLAlchemy: практическая работа с базой данных в Python
Результат

Что вы получите

  • Проектировать backend-приложения на FastAPI с использованием Clean Architecture
  • Разделять систему на domain, application, infrastructure и delivery слои
  • Реализовывать Use Cases, репозитории и Unit of Work
  • Работать с SQLAlchemy, миграциями и persistence-слоем
  • Создавать JWT-аутентификацию, роли и систему авторизации
  • Писать unit, integration и end-to-end тесты
  • Разрабатывать интерактивные системы тестирования и отслеживания прогресса
  • Реализовывать платформу кодовых задач с автоматической проверкой решений
  • Настраивать Docker-runner для безопасного исполнения пользовательского кода
  • Работать с очередями, worker-процессами и брокерами сообщений
  • Проектировать масштабируемую архитектуру образовательной платформы
  • Оптимизировать производительность через индексы и кеширование
Аудитория

Для кого этот курс

  • Python-разработчикам, которые хотят выйти на новый уровень в Backend-разработке и научиться проектировать сложные FastAPI-системы.
Содержание

Программа курса

5 занятий
ТемаЧто внутри
01MVP

- Обзор проекта, стека и маршрута разработки
- 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 тесты
- Домашнее задание

02Интерактивное обучение: тесты, попытки, прогресс

- Точка входа во второй модуль: от контента к активности
- Роли второго этапа: кто создает, кто проходит, кто управляет
- Cущность Question
- Сущность AnswerOption и варианты ответа
- Формы ответа: одиночный и множественный выбор
- Сущность QuestionAttempt и прохождение тестов
- Результаты теста, баллы и статус
- Авторские сценарии для тестов
- Домашнее задание
- Пользовательские сценарии прохождения
- Прогресс обучения как новая часть домена
- Баллы и учебная мотивация
- Persistence интерактивного этапа: ORM, репозитории, UoW
- FastAPI для интерактивного этапа: роуты, зависимости, схемы
- Практическое тестирование интерактивного этапа
- Автоматизированное тестирование тестового этапа
- Домашнее задание

03Кодовые задачи и Docker-runner

- Точка входа в этап задач
- Сущность Task
- Попытка решения и история отправок
- Правила проверки простых задач
- Роли, владелец и доступы в домене задач
- Авторские сценарии простых задач
- Пользовательские сценарии простых задач
- Контракты и инфраструктурные границы
- Persistence простых задач и развитие схемы
- Кодовые задачи, сущность CodeTask
- Отправка кода и жизненный цикл проверки
- Авторские сценарии кодовых задач
- Application-слой кодовых задач
- Очередь и worker
- Среда исполнения: Docker-runner и артефакты проверки
- Безопасность и отказоустойчивость проверки кода
- Прогресс кодовых задач и итоговая учебная модель
- FastAPI и сценарии проверки задач
- Практическое тестирование этапа задач
- Внешний брокер и реальная очередь
- Поддержка других языков программирования в задачах
- Практическое тестирование этапа задач, ч.2
- Автоматизированное тестирование этапа задач
- Домашнее задание

04Платформенные сценарии вокруг обучения

- Жизненный цикл курса: draft, published, archived
- Бизнес-сценарий публикации курса
- Каталог курсов и карточка курса
- Обложка, описание, сложность и теги курса
- Домашнее задание
- Поиск по каталогу курсов
- Фильтрация по темам, тегам и сложности
- Профиль пользователя
- Аналитика для студента: завершение, баллы, слабые места
- Домашнее задание
- Аналитика для автора: прохождение, сложные вопросы и задачи
- Рейтинг и отзывы о курсе
-  Домашнее задание
- История активности студента по платформе
- Индексы, оптимизация чтения
- Кеширование контента
- Финал проекта

05Итоги курса

- Помощь с трудоустройством и опыт

01MVP

- Обзор проекта, стека и маршрута разработки
- 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 тесты
- Домашнее задание

02Интерактивное обучение: тесты, попытки, прогресс

- Точка входа во второй модуль: от контента к активности
- Роли второго этапа: кто создает, кто проходит, кто управляет
- Cущность Question
- Сущность AnswerOption и варианты ответа
- Формы ответа: одиночный и множественный выбор
- Сущность QuestionAttempt и прохождение тестов
- Результаты теста, баллы и статус
- Авторские сценарии для тестов
- Домашнее задание
- Пользовательские сценарии прохождения
- Прогресс обучения как новая часть домена
- Баллы и учебная мотивация
- Persistence интерактивного этапа: ORM, репозитории, UoW
- FastAPI для интерактивного этапа: роуты, зависимости, схемы
- Практическое тестирование интерактивного этапа
- Автоматизированное тестирование тестового этапа
- Домашнее задание

03Кодовые задачи и Docker-runner

- Точка входа в этап задач
- Сущность Task
- Попытка решения и история отправок
- Правила проверки простых задач
- Роли, владелец и доступы в домене задач
- Авторские сценарии простых задач
- Пользовательские сценарии простых задач
- Контракты и инфраструктурные границы
- Persistence простых задач и развитие схемы
- Кодовые задачи, сущность CodeTask
- Отправка кода и жизненный цикл проверки
- Авторские сценарии кодовых задач
- Application-слой кодовых задач
- Очередь и worker
- Среда исполнения: Docker-runner и артефакты проверки
- Безопасность и отказоустойчивость проверки кода
- Прогресс кодовых задач и итоговая учебная модель
- FastAPI и сценарии проверки задач
- Практическое тестирование этапа задач
- Внешний брокер и реальная очередь
- Поддержка других языков программирования в задачах
- Практическое тестирование этапа задач, ч.2
- Автоматизированное тестирование этапа задач
- Домашнее задание

04Платформенные сценарии вокруг обучения

- Жизненный цикл курса: draft, published, archived
- Бизнес-сценарий публикации курса
- Каталог курсов и карточка курса
- Обложка, описание, сложность и теги курса
- Домашнее задание
- Поиск по каталогу курсов
- Фильтрация по темам, тегам и сложности
- Профиль пользователя
- Аналитика для студента: завершение, баллы, слабые места
- Домашнее задание
- Аналитика для автора: прохождение, сложные вопросы и задачи
- Рейтинг и отзывы о курсе
-  Домашнее задание
- История активности студента по платформе
- Индексы, оптимизация чтения
- Кеширование контента
- Финал проекта

05Итоги курса

- Помощь с трудоустройством и опыт

Организатор

Автор курса

StepikStepik
Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

Оставьте заявку

Консультант ответит на вопросы о курсе «FastAPI для профессионалов: Онлайн-школа на чистой архитектуре» и поможет разобраться в деталях обучения.

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных

Информация обновлена 14 сентября 2026 г.

Продолжить выбор

Похожие курсы

Python-разработчик с нуля
−53%5 октября
Python-разработчик с нуля

«Python-разработчик с нуля» от Нетологии поможет начать карьеру в ИТ уже через 6 месяцев. Python, Git, основы разработки, реальные задания, карьерная поддержка.

Онлайн16 занятий
Помощь с трудоустройством
194 515 ₽−53%
90 900 ₽Скидка до 16 сентября
Основы языка Python
22 ак.ч.
Основы языка Python

На курсе вы получите базовые навыки программирования на языке Python. Рассматриваются темы от типов данных до объектно-ориентированного программирования. Python – чрезвычайно мощн…

Онлайн10 занятийНачальный
27 500 ₽
Начать без затрат

Бесплатные курсы

Python для решения практических задач
Бесплатно
Python для решения практических задач

Научились решать простые задачи на питоне, но не можете понять, как сделать что-то полезное? Наш курс научит вас правильно гуглить! На примерах задач сбора данных (Data Scraping)…

Онлайн5 занятий
Бесплатно
Python для геймеров: базовый курс на игровых примерах
Бесплатно4 часа в неделю
Python для геймеров: базовый курс на игровых примерах

Здесь не будет сложных задач «про шахматы»! Здесь не будет абстрактных задач и сложных математических вычислений. Зато есть: теория простым и понятным языком игровые механики логи…

Онлайн12 занятий
Бесплатно
"Поколение Python": курс для начинающих
Бесплатно
"Поколение Python": курс для начинающих

"Поколение Python: курс для начинающих" знакомит с основными типами данных, конструкциями и принципами структурного программирования языка Python. Целевая аудитория – школьники, с…

Онлайн17 занятий
Бесплатно
ЛКПП (Лучший Курс По Python)
Бесплатно
ЛКПП (Лучший Курс По Python)

Курс размещен (продублирован на Степике) по согласованию и с разрешения автора - Никиты Соболева. Телеграм канал автора: Находки в опенсорсе YouTube канал автора: https://www.yout…

Онлайн2 занятий
Бесплатно