Каталог/назад к курсам
BackendНачальный

FastAPI для начинающих: API с базой данных и тестами

Соберёте свой первый полноценный backend на FastAPI: с базой данных, регистрацией, JWT-авторизацией и автотестами. 34 коротких урока и 140 заданий с проверкой — бесплатно.

Автор — Алексей Малышкинобновлён 7 сентября 2026

10 модулей • 34 урока140 заданий с проверкойоколо 15 ч
Код в браузере: PythonСвободный темпСертификат с проверкой

О курсе

Если вы уже знаете базовый Python, но пока не понимаете, как из него получается настоящий backend, этот курс проведёт вас по всему пути — от первого HTTP-запроса до работающего API в интернете.

Один проект от первого эндпоинта до запуска

Здесь нет набора несвязанных примеров. На протяжении курса вы шаг за шагом создадите один сервис: спроектируете эндпоинты, добавите проверку входных данных, сохранение в базу, регистрацию пользователей, JWT-авторизацию и контроль доступа.

Код пишете вы, а не только преподаватель

Короткие объяснения сразу закрепляются практикой. В курсе 34 урока и 140 заданий с автоматической проверкой: вы будете исправлять ошибки API, выбирать правильные статусы ответа, работать с SQLAlchemy и покрывать приложение тестами через pytest.

С чем закончите курс

У вас останется готовый backend на FastAPI — с документацией Swagger, базой данных, тестами, авторизацией и публичным адресом. Его можно показать в портфолио или использовать как основу для собственного проекта.

Курс бесплатный. Для старта достаточно базового Python; опыт backend-разработки не требуется.

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

  • Создавать и запускать API на FastAPI с Uvicorn и Swagger UI
  • Валидировать path-, query- и JSON-данные через Pydantic v2
  • Проектировать CRUD и возвращать корректные статусы 201, 404, 409 и 422
  • Разделять проект на APIRouter, зависимости и настройки
  • Подключать SQLite через SQLAlchemy 2 и управлять Session и связями таблиц
  • Тестировать API через pytest, TestClient, fixtures и dependency_overrides
  • Реализовывать регистрацию, хеширование паролей и JWT-авторизацию
  • Собирать и публиковать законченный backend API для портфолио

Для кого

  • Начинающие Python-разработчики, знакомые с функциями, условиями и коллекциями
  • Разработчики, которые ещё не создавали HTTP API на FastAPI
  • Студенты, которым нужен цельный backend-проект для портфолио

Формат

  • 10 модулей и 34 последовательных урока
  • Короткая теория, проверочные вопросы и практические задания
  • Один backend-проект развивается от первого эндпоинта до публикации
  • Автоматическая проверка кода и API-сценариев

Что нужно на старте

  • Базовый синтаксис Python: функции, условия и циклы
  • Умение работать со строками, списками и словарями
  • Начальное знакомство с классами и импортом модулей
  • Установленный Python и умение ставить пакеты через pip
#fastapi#python#backend#sqlalchemy#pytest#jwt

Автор курса

Алексей Малышкин

Разрабатываю образовательные материалы по программированию, машинному обучению и анализу данных. Темы: Python-разработка, аналитика, ML-инструменты (LangChain, vector databases, AI agents), компьютерное зрение. Стараюсь объяснять технические концепции понятно и структурировано. Ранее преподавал на Stepik и обучил более 2000 студентов. Мой профиль на Stepik - https://stepik.org/users/273781420/profile Мой телеграм для связи @alexey_latorn

Программа

01Как работает веб4 урока
1Что происходит после ввода адреса в браузерепробный
2URL, домен, IP, порт и localhost
3HTTP-запрос и ответ
4JSON — язык данных API
02Первый работающий API3 урока
1Проект FastAPI и первый GETпробный
2Path-параметры и типы
3Query-параметры и фильтрация каталога
03Входные данные и Pydantic v24 урока
1POST, JSON-тело и первая модель запроса
2Ограничения полей и ошибки валидациипробный
3Вложенные данные и необязательные поля
4Модели создания и ответапробный
04CRUD как HTTP-контракт4 урока
1Создание ресурса: POST и статус 201
2Отсутствующий ресурс и HTTPException
3Полное и частичное обновление
4Удаление и завершённый CRUD
05Проект перестаёт быть одним файлом3 урока
1APIRouter и границы модулей
2Зависимости через Dependsпробный
3Настройки приложения
06Данные переживают перезапуск5 уроков
1Таблица, ORM-модель и Pydantic-схема
2Engine, Session и база SQLiteпробный3Чтение и создание через SQLAlchemy 2пробный
4Обновление и удаление в базе
5Переговорная и бронирование: связь таблиц
07Правила бронирования3 урока
1Интервал времени в контракте API
2Поиск пересекающихся бронирований
3Создание бронирования или ответ 409
08Тесты вместо ручного прокликивания3 урока
09Пользователи и доступ4 урока
1Регистрация и хеширование пароля
2Вход и JWT access tokenпробный3Текущий пользователь как dependencyпробный
4Владение ресурсом и финальная сборка
10Roomly выходит в интернет1 урок
1Публикация Roomly и публичный URL