хуснутдинова
Название проекта
YaMDb
Завершен
Технологии
Django REST Framework, GitHub, Pytest, Python, REST API
Описание проекта

YaMDb — это платформа, где пользователи могут оставлять отзывы и оценки на произведения разных категорий. Проект представляет собой REST API, разработанный в рамках командного спринта.

Моя роль — тимлид команды из трех человек. Я отвечала не только за разработку своей части функционала, но и за организацию командной работы: декомпозицию задач, синхронизацию кода, проведение код-ревью и финальную сдачу проекта.

Что сделано

■ Как тимлид:
□ Организация командной работы:
- Настроила канбан-доску, декомпозировала задачи и распределила их между участниками с учетом зависимостей и приоритетов.
- Выстроила Git-флоу: работа в отдельных ветках, пул-реквесты, код-ревью, разрешение конфликтов, мердж в develop и master.
- Провела код-ревью всех пул-реквестов команды, следила за качеством кода и соответствием ТЗ.
- Координировала взаимодействие между разработчиками, чтобы минимизировать блокировки (например, согласовала очередность выполнения задач, чтобы модель Title была готова до начала работы над отзывами).
□ Отвечала за финальную сдачу проекта и коммуникацию с ревьюером.

■ Моя техническая часть (пользователи и аутентификация):
□ Кастомная модель пользователя: расширила встроенную модель Django для поддержки ролей (user, moderator, admin) и дополнительных полей профиля.
□ Регистрация и аутентификация:
- Реализовала двухэтапную регистрацию с подтверждением по email (signup → получение кода → обмен на JWT-токен).
- Написала логику генерации и отправки confirmation_code через email-бэкенд.
- Разработала кастомную JWT-аутентификацию без использования сторонних библиотек (вручную реализована работа с токенами).

□ Система ролей и прав доступа:
- Настроила разрешения для пяти уровней доступа: аноним, аутентифицированный пользователь, модератор, администратор, суперпользователь.
- Реализовала проверку прав на редактирование контента в зависимости от роли.

■ Общекомандные результаты:
□ Проект полностью соответствует документации ReDoc (все эндпоинты работают согласно спецификации).
□ Сдача раньше срока на 3 дня.

Ссылка на GitHub
https://github.com/natixdev/api-yamdb