Yamdb — это платформа для отзывов на всевозможные произведения.
На сервисе Yamdb можно посмотреть рейтинг и отзывы на интересующее произведение, будь то фильм, песня, книга, да что угодно! А зарегистрированные пользователи могут ещё и влиять на рейтинг произведений, и писать самые возвышенные (или разгромные) отзывы. Конечно есть модераторы! Они обязательно проверят, что ваш отзыв относится к конкретному произведению и на наличие нецензуроной лексики. Но это ещё не всё. Не согласны с отзывом некоего пользователя? Не беда! Пишите свой комментарий по этому поводу! (Его, разумеется, тоже проверит модератор)
В проекте создано API на основе Django Rest Framework, через который можно взаимодействовать с платформой.
- redoc/ - документация проекта
- api/v1/auth/signup/ - регистрация пользователя и получение кода подтверждения
- api/v1/auth/token/ - получение токена
- api/v1/users/me/ - просмотр своего профиля
- api/v1/users/ - просмотр списка пользователей (для модератора и администратора)
- api/v1/users/{username}/ - профиль пользователя (для модератора и администратора)
- api/v1/categories/- список всех категорий, создание категории (для администратора)
- api/v1/categories/{slug}/- удаление категории (для администратора)
- api/v1/genres/- список всех жанров, создание жанра (для администратора)
- api/v1/genres/{slug}/ - удаление жанра (для администратора)
- api/v1/titles/ - список всех произведений, создание произведения (для администратора)
- api/v1/titles/{titles_id}/ - просмотр произведения, изменение произведения (для администратора)
- api/v1/titles/{title_id}/reviews/- список всех отзывов для конкретного произведения, создание отзыва для произведения
- api/v1/titles/{title_id}/reviews/{review_id}/ - конкретный отзыв, изменение отзыва (для автора, модератора и администратора)
- api/v1/titles/{title_id}/reviews/{review_id}/comments/ - список комментариев к конкретному отзыву, создание комментария
- api/v1/titles/{title_id}/reviews/{review_id}/comments/{comment_id}/ - просмотр комментария, изменение комментария
1. Клонировать репозиторий и перейти в него в командной строке:
git clone https://github.com/Olmazurova/api_yamdb.git
2. Cоздать и активировать виртуальное окружение:
- На ОС Linux:
python3 -m venv env
source env/bin/activate
python3 -m pip install --upgrade pip
- На ОС Windows:
python -m venv .venv
source .venv/Scripts/activate
python -m pip install --upgrade pip
3. Установить зависимости из файла requirements.txt:
pip install -r requirements.txt
4. Выполнить миграции:
- На ОС Linux:
python3 manage.py migrate
- На ОС Windows:
python manage.py migrate
5. Запустить проект:
- На ОС Linux:
python3 manage.py runserver
- На ОС Windows:
python manage.py runserver
-
Создание отзыва на произведение
{ "text": "Восхитительно!", "score": 10 }
-
Добавление комментария к отзыву
{ "text": "Поддерживаю!" }
-
Зарегистрировать пользователя и получить проверочный код
{ "email": "[email protected]", "username": "regular-user" }
-
Получить токен
{ "username": "regular-user", "confirmation_code": "ujoKrnraH1j7f41vHFxclPWp3LEfjle1SVYZ8qes" }
Чтобы заполнить БД примерами, выполните команду
python manage.py import_csv
Перед этим нужно создать миграции и применить их
Код команды находится здесь:
api_yamdb/api_yamdb/api_yamdb/management/commands/import_csv.py
Авторы проекта: Ольга Мазурова, Тимофей Марьин, Дарья Смольская