Скачать FastAPI для профессионалов: Онлайн-школа на чистой архитектуре [Stepik] [Илья Перминов]

Джокер

Администратор
Регистрация
1 Янв 2015
Сообщения
141.524
Реакции
77.855
Складчина: FastAPI для профессионалов: Онлайн-школа на чистой архитектуре [Stepik] [Илья Перминов]



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

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

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

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
Бизнес-сценарий публикации курса
Каталог курсов и карточка курса
Обложка, описание, сложность и теги курса
Домашнее задание
Поиск по каталогу курсов
Фильтрация по темам, тегам и сложности
Профиль пользователя
Аналитика для студента: завершение, баллы, слабые места
Домашнее задание
Аналитика для автора: прохождение, сложные вопросы и задачи
Рейтинг и отзывы о курсе
Домашнее задание
История активности студента по платформе
Индексы, оптимизация чтения
Кеширование контента
Цена 6999 руб.




СКАЧАТЬ СЛИВЫ КУРСОВ