Skip to content

Проект YamDB для сбора отзывов пользователей на произведения.

Notifications You must be signed in to change notification settings

Straga33/yamdb_final

Repository files navigation

Проект YamDB для сбора отзывов пользователей на произведения.

example workflow

Проект YamDB собирает отзывы (Review) пользователей на произведения (Title). Произведения делятся на категории: "Книги", "Фильмы", "Музыка". Список категорий (Category) может быть расширен. Сами произведения в YaMDb не хранятся, здесь нельзя посмотреть фильм или послушать музыку.

Сборка docker представляет из собой три образа: web, db, nginx. При создании контейнеров из образов, будет создано два тома для работы со статикой и медиа файлами. Название томов: static_value, media_value

web образ содержит сам проект, все зависимости, в том числе gunicorn server для корректной работы, документацию к API проекта YAMDB (v1.0) nginx образ содержит веб сервер, db образ содержит PostgresSQL базу данных проекта Оркестрация контейнерами происходит по средствам docker-compose утилиты.

Docker Nginx Gunicorn DjangoREST Django Postgres

Стек технологий в проекте:

  • Python
  • Dajngo
  • REST API
  • PostgreSQL
  • nginx
  • Docker

Шаблон наполнения env-файла:

DB_ENGINE=django.db.backends.postgresql # указываем, что работаем с postgresql

DB_NAME=имя базы данных

POSTGRES_USER=логин для подключения к базе данных

POSTGRES_PASSWORD=пароль для подключения к БД

DB_HOST=db # название сервиса (контейнера)

DB_PORT=5432 # порт для подключения к БД

Как запустить проект:

Зайти на ВМ.

Выполнить миграции:

docker-compose exec web python manage.py migrate

Собрать статистику:

docker-compose exec web python manage.py collectstatic --no-input

Создать суперпользователя:

docker-compose exec web python manage.py createsuperuser

Примеры эндпоинтов:

Регистрация нового пользователя Получить код подтверждения на переданный email. Права доступа: Доступно без токена.

http://127.0.0.1:8000/api/v1/auth/signup/

Получение JWT-токена Получение JWT-токена в обмен на username и confirmation code. Права доступа: Доступно без токена.

http://127.0.0.1:8000/api/v1/auth/signup/

Получение списка всех категорий Получить список всех категорий Права доступа: Доступно без токена

http://127.0.0.1:8000/api/v1/categories/

Добавление новой категории Создать категорию. Права доступа: Администратор.

http://127.0.0.1:8000/api/v1/categories/

Удаление категории Удалить категорию. Права доступа: Администратор.

http://127.0.0.1:8000/api/v1/categories/{slug}/

Подробнее можно посмотреть в документации Redoc после старта сервера по адресу:

http://127.0.0.1:8000/redoc/

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

Басков Михаил ([email protected])

About

Проект YamDB для сбора отзывов пользователей на произведения.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages