Проект 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
- Клонируйте проект в рабочую директорию:
git clone https://github.com/annrud/api_rr.git - Создайте файл .env (в директории с settings.py) с переменными окружения
DB_ENGINE, DB_NAME, POSTGRES_USER, POSTGRES_PASSWORD, DB_HOST, DB_PORT, SECRET_KEY. - Установите docker и docker-compose
- Сборка и запуск контейнеров
docker-compose up -d --build - Выполнение миграций
docker-compose exec web python manage.py migrate --noinput - Сбор статики
docker-compose exec web python manage.py collectstatic --no-input - Создание суперпользователя:
docker-compose exec web python manage.py createsuperuser - Заполнение базы начальными данными
docker-compose exec web python manage.py loaddata fixtures.json - Проект запустится на http://0.0.0.0:8000/
Полная документация (redoc.yaml) доступна по адресу http://0.0.0.0:8000/redoc/
Попова Анна (управление пользователями (Auth и Users):
систему регистрации и аутентификации, права доступа, работу с токеном, систему подтверждения через e-mail)
Микша Павел (категории (Categories), жанры (Genres) и
произведения (Titles): модели, представления и эндпойнты для них)
Горшенин Николай (отзывы (Review) и комментарии (Comments): модели, представления, настройка эндпойнтов, определкние прав доступа для запросов, рейтинги произведений)