Skip to content
/ api_rr Public

API проекта RR (сбор отзывов пользователей на произведения и рейтинг последних).

Notifications You must be signed in to change notification settings

annrud/api_rr

Repository files navigation

RR

Проект RR собирает отзывы (Review) пользователей на произведения (Titles) и составляет рейтинг последних. Реализованы бэкенд и API в соответствии с документацией reDoc.

Описание

API RR работает со следующими сущностями:

JWT-токен: отправление confirmation_code на переданный email, получение JWT-токена в обмен на email и confirmation_code

Пользователи (Users): получение списка всех пользователей, создание пользователя, получение пользователя, изменение данных пользователя и удаление пользователя по username, получение данных и изменение данных своей учетной записи

Категории (Categories) произведений: получение списка всех категорий, создание и удаление категории

Жанры (Genres): получение списка всех жанров, создание и удаление жанра

Произведения (Titles): получение списка всех объектов, создание объекта, информация об объекте, обновление информации об объекте, удаление объекта

Отзывы (Reviews): получение списка всех отзывов, создание нового отзыва, получение, частичное обновление и удаление отзыва по id

Комментарии к отзывам (Comments): получение списка всех комментариев по id, создание нового комментария, получение, частичное обновление и удаление комментария по id

Технологии:

Python, Django REST Framework, Simple JWT, PostgreSQL, docker-compose, git

Этапы и команды для сборки и запуска приложения:

  1. Клонируйте проект в рабочую директорию:
    git clone https://github.com/annrud/api_rr.git
  2. Создайте файл .env (в директории с settings.py) с переменными окружения
    DB_ENGINE, DB_NAME, POSTGRES_USER, POSTGRES_PASSWORD, DB_HOST, DB_PORT, SECRET_KEY.
  3. Установите docker и docker-compose
  4. Сборка и запуск контейнеров docker-compose up -d --build
  5. Выполнение миграций docker-compose exec web python manage.py migrate --noinput
  6. Сбор статики docker-compose exec web python manage.py collectstatic --no-input
  7. Создание суперпользователя: docker-compose exec web python manage.py createsuperuser
  8. Заполнение базы начальными данными docker-compose exec web python manage.py loaddata fixtures.json
  9. Проект запустится на http://0.0.0.0:8000/
    Полная документация (redoc.yaml) доступна по адресу http://0.0.0.0:8000/redoc/

Разработчики:

Попова Анна (управление пользователями (Auth и Users): систему регистрации и аутентификации, права доступа, работу с токеном, систему подтверждения через e-mail)

Микша Павел (категории (Categories), жанры (Genres) и произведения (Titles): модели, представления и эндпойнты для них)

Горшенин Николай (отзывы (Review) и комментарии (Comments): модели, представления, настройка эндпойнтов, определкние прав доступа для запросов, рейтинги произведений)

About

API проекта RR (сбор отзывов пользователей на произведения и рейтинг последних).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published