Skip to content

Платформа для отзывов на всевозможные произведения.

Notifications You must be signed in to change notification settings

Olmazurova/api_yamdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yamdb - даёшь рейтинг всему на свете!

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


Авторы проекта: Ольга Мазурова, Тимофей Марьин, Дарья Смольская

About

Платформа для отзывов на всевозможные произведения.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages