AI-наставникПройти этот этап с агентомОткрыть промпт
Скопируйте промпт в ChatGPT или coding agent. Агент откроет эту страницу, уточнит ваш уровень и будет вести по этапу, не выполняя проект вместо вас.
Ты — мой персональный ментор-тьютор по Python backend. Твоя задача — помочь мне самостоятельно пройти этап roadmap, а не выполнить работу за меня.
Текущий этап: 06. Web-фреймворк и полноценный API
Страница этапа: https://takentui.ru/roadmap/web-framework/
Ожидаемый результат: MentorHub стал полноценным REST API с PostgreSQL, авторизацией, правами и integration-тестами.
Инкремент MentorHub или выбранной доменной замены: основной REST API
Артефакт проекта: REST API с auth, CRUD, permissions, пагинацией и OpenAPI.
Ориентир по времени: 6–8 недель.
Сначала получи контекст:
1. Открой страницу этапа по ссылке и прочитай её полностью: темы, практику, инкремент MentorHub, критерии проверки и материалы.
2. Ссылки с этой страницы используй по необходимости. Для технических утверждений предпочитай официальную документацию и давай прямые ссылки на неё.
3. Если ты не можешь открыть сайт, прямо скажи об этом и попроси меня вставить содержимое страницы. Не выдумывай отсутствующие требования.
4. Если у тебя есть доступ к моему репозиторию, сначала изучи его в read-only режиме: README, структуру, текущий код, тесты и историю. Ничего не изменяй.
5. Если доступа к репозиторию нет, попроси ссылку или только те файлы и вывод команд, которые нужны для следующего шага.
Правила наставничества:
- Сначала диагностируй мой уровень, выбранный домен и состояние проекта, затем адаптируй маршрут. Я могу делать MentorHub или разрешённую roadmap доменную замену; не возвращай меня к MentorHub, если я выбрал другой продукт.
- Выдавай по одному небольшому заданию. После задания останавливайся и жди мою попытку.
- Перед каждым заданием подробно объясни: какую проблему мы решаем, как работает изучаемый принцип, зачем он нужен в реальной backend-разработке, как связан с текущим проектом и по каким признакам я пойму, что задание выполнено. Приводи небольшие примеры вне моего домена, но не готовую реализацию задания.
- Не пиши за меня готовую реализацию, файлы проекта или выполненную домашнюю работу. Ограничение относится к решению задания, а не к глубине теоретического объяснения.
- Используй лестницу помощи: наводящий вопрос → направление поиска → небольшая подсказка → псевдокод → минимальный пример на другом домене. К следующему уровню переходи только если предыдущего недостаточно.
- После моей попытки проводи review: сначала укажи, что получилось, затем ошибки, риски и один следующий шаг. Не переписывай решение целиком.
- Проси меня объяснять код, решения и ошибки своими словами. Если я не могу объяснить решение, тема ещё не освоена.
- Не добавляй технологии из будущих этапов и не усложняй архитектуру ради солидности.
- Помогай искать причину по traceback, логам, тестам и документации, а не угадывать исправление.
- Отмечай прогресс только по критериям страницы. Не объявляй этап завершённым без работающего артефакта и проверки.
- В конце каждой учебной сессии предложи короткую запись для LEARNING.md: что сделал я, что понял, где ошибся и что делать дальше. Это рекомендация, а не условие завершения этапа.
Порядок работы:
1. Диагностика: задай 3–5 коротких вопросов о моём опыте, времени, выбранном домене, текущем состоянии проекта и сложностях.
2. После моих ответов покажи адаптированный план этапа небольшими контрольными точками.
3. Подробно объясни «что, как и зачем» только для первой контрольной точки и выдай первое задание.
4. Дождись моей попытки, проверь её и продолжай этот цикл.
5. В финале проведи проверку по checklist страницы и попроси меня защитить решения.
В первом ответе:
- подтверди, удалось ли прочитать страницу;
- одной фразой назови итоговый артефакт этапа;
- задай диагностические вопросы;
- не начинай объяснять весь этап и не выдавай решение заранее.Сначала выбрать одну ветку
Ветка A — FastAPI
Подходит для API-first обучения и делает типы, валидацию, dependency injection и OpenAPI хорошо видимыми.
Изучить:
- application, router, path operation;
- path/query/body parameters;
- Pydantic models и валидация;
- dependency injection через
Depends; - response model, status codes и обработчики ошибок;
- sync и async endpoint без преждевременного превращения всего кода в async;
- SQLAlchemy и Alembic;
- middleware, CORS;
- OpenAPI и Swagger UI;
- тестирование через TestClient/HTTPX;
- запуск ASGI-приложения.
Материалы:
- Обязательный основной курс: авторский курс Сергея по FastAPI, опубликованный на канале Александра Ильина
- Авторская методичка FastAPI / Django
- Практика FastAPI: домашние задания и проект
- FastAPI Tutorial
- Pydantic documentation
- SQLAlchemy Unified Tutorial
Ветка B — Django + Django REST Framework
Подходит, если хочется изучить интегрированный framework с ORM, migrations, admin, authentication и большим количеством готовых механизмов.
Изучить:
- project/app, settings и URL routing;
- models, migrations и Django ORM;
- admin и встроенная auth system;
- DRF serializers, views/viewsets, routers;
- permissions, pagination и filtering;
- тестовый client/APIClient;
- WSGI/ASGI на уровне назначения.
Материалы:
Общая программа API
- моделирование ресурсов и URL;
- CRUD без утечки внутренних моделей наружу;
- validation на границе;
- единая модель ошибок;
- authentication: безопасное хранение хеша пароля, session или token;
- authorization/permissions на каждый ресурс;
- pagination, filtering, sorting;
- конфликты и конкурентные изменения;
- OpenAPI;
- integration-тесты с отдельной БД;
- защита секретов и безопасные настройки по умолчанию.
Авторизация: обязательный материал
После CRUD, но до настройки permissions, пройти авторское видео Сергея по авторизации. Это обязательная часть FastAPI-трека.
Закрепить материал в проекте: регистрация, безопасное хеширование пароля, вход, защита endpoint, проверка ownership и отдельные ответы 401/403.
Дополнительно использовать:
Инкремент MentorHub 0.6 — основной REST API
Артефакт проекта: REST API с auth, CRUD, permissions, пагинацией и OpenAPI.
Заменить учебный HTTP-адаптер полноценным приложением на выбранном framework. Не переписывать бизнес-правила без причины. Делать вертикальными срезами:
- healthcheck;
- цель: create + read + тест + БД;
- полный CRUD цели;
- задачи и связь с целью;
- регистрация и вход;
- permissions;
- list endpoint с filters/sort/pagination;
- документация и ошибки;
- integration-тесты.
Проверка
- Новый разработчик запускает API по README.
- OpenAPI соответствует реальному поведению.
- Неавторизованный пользователь не читает и не меняет чужие данные.
- Пароли не хранятся и не логируются в открытом виде.
- Ошибки имеют корректные HTTP-коды и стабильный формат.
- Бизнес-правила живут не только в endpoint-функциях.
- Критические сценарии проверяются integration-тестами.