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

Это практический курс по созданию Backend-системы на FastAPI. Вы разработаете полноценную образовательную платформу с Clean Architecture, JWT-аутентификацией, тестированием, очередями, Docker-runner для проверки кода и системой прогресса обучения. Курс ориентирован на разработчиков, которые хотят перейти от простых…
Продвинутый уровень
5-8
Сертификат Stepik

Чему вы научитесь

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

О курсе

Это практический курс по разработке современных backend-систем на FastAPI с использованием Clean Architecture. Вместе мы создадим полноценную образовательную платформу: от MVP и системы курсов до тестирования, кодовых задач и аналитики. Вы научитесь проектировать масштабируемую архитектуру, работать с SQLAlchemy, JWT, ролями, очередями, Docker-runner и автоматизированным тестированием. Курс ориентирован на разработчиков, которые хотят выйти за рамки простых CRUD-приложений и научиться строить сложные backend-проекты.

Код проекта, который создается в рамках курса, вы можете посмотреть на 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-разработчикам, которые хотят выйти на новый уровень в Backend-разработке и научиться проектировать сложные FastAPI-системы.

Начальные требования

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

Желательно прохождение курса - FastAPI для начинающих, а так же курса - Продвинутый FastAPI для продолжающих, и курса - SQLAlchemy: практическая работа с базой данных в Python

Наши преподаватели

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

загружаем...
Certificate

Сертификат

Сертификат Stepik

Сколько стоит обучение

Old Price: 6 999  Discount Price: 4 899,30 
Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы вернём вам деньги в течение 30-ти дней после покупки.

Часто задаваемые вопросы

Расскажите о курсе друзьям

Old Price: 6 999  Discount Price: 4 899,30