Скачать 

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

  • Дата начала
Robot
Robot
Складчик
  • #1

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

Ссылка на картинку
Это практический курс по созданию 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:
  1. Обзор проекта, стека и маршрута разработки
  2. Clean Architecture на практике
  3. Структура проекта: каркас, пакеты, стандарты
  4. Конфигурация и ошибки: фундамент production-подхода
  5. Сущность Course как бизнес-ядро
  6. Сущности Modules, Sections и структура курса
  7. Сущность Lecture и учебный материал
  8. Сущность User и роли: модель доступа
  9. Read-сценарии: первые Use Cases
  10. Write-сценарии: управление контентом через Use Cases
  11. Контракты слоёв: интерфейсы, границы, ответственность
  12. Persistence: ORM отдельно, домен отдельно
  13. Репозитории: доступ к данным
  14. Unit of Work: транзакции как часть архитектуры
  15. Миграции базы данных и инфраструктура
  16. FastAPI как слой доставки
  17. Эндпоинты чтения
  18. Эндпоинты управления
  19. OpenAPI: документация, теги, схемы ошибок
  20. Аутентификация: регистрация, логин, JWT
  21. Авторизация: роли, доступы, защита маршрутов
  22. Практическое тестирование проекта
  23. Автоматизированное тестирование проекта (Unit тесты)
  24. Интеграционное тестирование и End-to-End тесты
  25. Домашнее задание
Интерактивное обучение: тесты, попытки, прогресс:
  1. Точка входа во второй модуль: от контента к активности
  2. Роли второго этапа: кто создает, кто проходит, кто управляет
  3. Cущность Question
  4. Сущность AnswerOption и варианты ответа
  5. Формы ответа: одиночный и множественный выбор
  6. Сущность QuestionAttempt и прохождение тестов
  7. Результаты теста, баллы и статус
  8. Авторские сценарии для тестов
  9. Домашнее задание
  10. Пользовательские сценарии прохождения
  11. Прогресс обучения как новая часть домена
  12. Баллы и учебная мотивация
  13. Persistence интерактивного этапа: ORM, репозитории, UoW
  14. FastAPI для интерактивного этапа: роуты, зависимости, схемы
  15. Практическое тестирование интерактивного этапа
  16. Автоматизированное тестирование тестового этапа
  17. Домашнее задание
Кодовые задачи и Docker-runner:
  1. Точка входа в этап задач
  2. Сущность Task
  3. Попытка решения и история отправок
  4. Правила проверки простых задач
  5. Роли, владелец и доступы в домене задач
  6. Авторские сценарии простых задач
  7. Пользовательские сценарии простых задач
  8. Контракты и инфраструктурные границы
  9. Persistence простых задач и развитие схемы
  10. Кодовые задачи, сущность CodeTask
  11. Отправка кода и жизненный цикл проверки
  12. Авторские сценарии кодовых задач
  13. Application-слой кодовых задач
  14. Очередь и worker
  15. Среда исполнения: Docker-runner и артефакты проверки
  16. Безопасность и отказоустойчивость проверки кода
  17. Прогресс кодовых задач и итоговая учебная модель
  18. FastAPI и сценарии проверки задач
  19. Практическое тестирование этапа задач
  20. Внешний брокер и реальная очередь
  21. Поддержка других языков программирования в задачах
  22. Практическое тестирование этапа задач, ч.2
  23. Автоматизированное тестирование этапа задач
  24. Домашнее задание
Платформенные сценарии вокруг обучения:
  1. Жизненный цикл курса: draft, published, archived
  2. Бизнес-сценарий публикации курса
  3. Каталог курсов и карточка курса
  4. Обложка, описание, сложность и теги курса
  5. Домашнее задание
  6. Поиск по каталогу курсов
  7. Фильтрация по темам, тегам и сложности
  8. Профиль пользователя
  9. Аналитика для студента: завершение, баллы, слабые места
  10. Домашнее задание
  11. Аналитика для автора: прохождение, сложные вопросы и задачи
  12. Рейтинг и отзывы о курсе
  13. Домашнее задание
  14. История активности студента по платформе
  15. Индексы, оптимизация чтения
  16. Кеширование контента
Показать больше
 
Зарегистрируйтесь , чтобы посмотреть контент.
fastapi для профессионалов stepik илья перминов онлайн-школа на чистой архитектуре
Похожие складчины
  • в разделе: Программирование
  • в разделе: Программирование
  • в разделе: Программирование

Войдите или зарегистрируйтесь!

Учетная запись позволит вам участвовать в складчинах и оставлять комментарии

Регистрация

Создайте аккаунт. Это просто!

Вход

Вы уже зарегистрированы? Войдите.

Сверху