Проект API YaMDb реализует API для сбора отзывов пользователей на произведения.
- О проекте
- Начало работы
- Использование
- Планы
- Использованные средства и технологии
- Авторы
- Благодарности
API YaMDb - это проектная работа десятого спринта курса "Python-разработчик" Яндекс.Практикум.
Этот проект реализует API будущего сайта, представляющего собой сервис по работе с произведениями.
Произведения делятся на категории:
- Книги,
- Фильмы,
- Музыка.
Благодарные или возмущённые пользователи оставляют к произведениям текстовые отзывы и ставят произведению оценку в диапазоне от одного до десяти. Из пользовательских оценок формируется усреднённая оценка произведения — рейтинг.
Для работы с проектом необходимо выполнить действия, описанные ниже.
- Клонировать репозиторий и перейти в него в командной строке:
git@github.com:iReset/api_yamdb.git # или
git@github.com:HelloAgni/api_yamdb.git # или
git@github.com:Valery-VM/api_yamdb.git
cd api_yamdb
Создать и активировать виртуальное окружение:
python -m venv venv # для Windows или
python3 -m venv venv # для Linux и Mac
source venv/Scripts/activate # для Windows или
source venv/bin/activate # для Linux и Mac
Обновить pip и установить зависимости из файла:
python -m pip install --upgrade pip
pip install -r requirements.txt # для выполнения или
pip install -r requirements-devel.txt # для разработки
Скопировать файл с переменными окружения,сгенерировать секретный ключ:
cp .env.sample .env
python -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())'
и вставить выданное значение вместо значения параметра SECRET_KEY
в файле .env
.
Выполнить миграции и заполнить базу данных:
python api_yamdb/manage.py migrate
python api_yamdb/manage.py import_data
Для работы с API необходимо запустить проект:
python api_yamdb/manage.py runserver
Для получения документации по API необходимо открыть в браузере адрес http://127.0.0.1/redoc/.
Затем можно выполнять API-запросы к проекту.
- Есть ли у нас планы???
- iReset — управление пользователями (Auth и Users): система регистрации и аутентификации, права доступа, работа с токеном, система подтверждения через e-mail
- HelloAgni — категории (Categories), жанры (Genres) и произведения (Titles): модели, представления и эндпойнты для них
- Valery-VM — отзывы (Review) и комментарии (Comments): описание моделей, представлений, настройка эндпойнтов, определение прав доступа для запросов, рейтинги произведений
- Спасибо команде Яндекс.Практикум за создание курса
- Спасибо наставникам Денису Московченко, Алексею Михайлову и старшему студенту Антону Базуленкову за терпеливые и подробные разъяснения
- Спасибо куратору Екатерине Чапля за неустанную поддержку и организацию работы
- Спасибо команде когорты 28 за поддержку и сопровождение
- Спасибо однокурсникам когорты 28 за дружную команду