Skip to content

AnastasiaDeka/api_yamdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Follow API

Описание

Проект YaMDb — это система для сбора отзывов пользователей на произведения в разных категориях (например, книги, фильмы, музыка). В проекте пользователи могут оставлять отзывы и комментарии, а также оценивать произведения. Проект YaMDb не хранит сами произведения, но предоставляет возможность пользователям оставлять отзывы на них. Произведения могут быть отнесены к разным категориям (например, "Фильмы", "Книги", "Музыка"). Каждый отзыв может содержать текст и оценку произведения. Оценки пользователей формируют общий рейтинг произведения.

Кроме того, пользователи могут оставлять комментарии к отзывам, а доступ к различным функциям системы зависит от их роли.

Технологии

Back-end Python, Django, DRF Database SQLite3 Tools visual studio code Postman, Git, GitHub Collaboration

Ресурсы API

auth

Аутентификация пользователей через JWT-токен.

users

Управление пользователями, их данными и ролями.

titles

Произведения (книги, фильмы, музыка и др.), на которые оставляются отзывы.

categories

Категории произведений, такие как «Книги», «Фильмы», «Музыка».

genres

Жанры произведений, к которым могут быть привязаны произведения.

reviews

Отзывы пользователей на произведения.

comments

Комментарии пользователей к отзывам.

Каждый из этих ресурсов доступен через API с использованием различных HTTP-методов и требует определённых прав доступа.

Пользовательские роли и права доступа

Аноним — может просматривать произведения, читать отзывы и комментарии. Аутентифицированный пользователь — может публиковать отзывы, ставить оценки, комментировать, редактировать и удалять свои отзывы и комментарии. Модератор — имеет права аутентифицированного пользователя плюс возможность редактировать и удалять любые отзывы и комментарии. Администратор — имеет полные права на управление контентом (создание и удаление произведений, категорий и жанров, назначение ролей пользователям). Функциональность Регистрация пользователей: Пользователь может зарегистрироваться с помощью email и username, получить токен для дальнейшей работы с API. Добавление данных: Администратор может добавлять произведения, категории, жанры и управлять пользователями. Отзывы и комментарии: Аутентифицированные пользователи могут оставлять отзывы и комментарии, редактировать и удалять их. Токены для аутентификации: Все запросы к API, требующие аутентификации, должны сопровождаться JWT-токеном.

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

Клонировать репозиторий и перейти в него в командной строке:

git clone https://github.com/yourusername/api_yamdb.git
cd api_yamdb

Cоздать и активировать виртуальное окружение:

python3 -m venv env

На macOS/Linux:

source venv/bin/activate

На Windows:

venv\Scripts\activate

Установить зависимости из файла requirements.txt:

python3 -m pip install --upgrade pip
pip install -r requirements.txt

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

python3 manage.py migrate

Импортировать данные из CSV:

python3 manage.py parse-db

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

python3 manage.py runserver

Импорт данных из ssv-файлов: ... python3 manage.py parse-db

Документация к API

После запуска dev-сервера документация к API будет доступна по адресу: http://127.0.0.1:8000/redoc/

Документация описывает, как должен работать ваш API и какие запросы можно отправлять. Документация представлена в формате Redoc.

Команда разработки

Проект выполнялся в команде из 3 человек:

About

api_yamdb

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages