Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sunnyinhouse/reviews_to_works

Проект с отзывами пользователей на произведения, реализованы бэкенд и api проекта
https://github.com/sunnyinhouse/reviews_to_works

django-filters django-rest-framework python sqlite3

Last synced: 22 days ago
JSON representation

Проект с отзывами пользователей на произведения, реализованы бэкенд и api проекта

Awesome Lists containing this project

README

        

# Отзывы на произведения

### Описание
Проект Reviews_to_works собирает отзывы пользователей на произведения.
Произведения делятся на категории: «Книги», «Фильмы», «Музыка». Сами произведения в YaMDb не хранятся. Произведению может быть присвоен жанр из списка предустановленных.
Благодарные или возмущённые пользователи оставляют к произведениям текстовые отзывы и ставят произведению оценку; из пользовательских оценок формируется рейтинг произведения.
Данный проект выполнялся в команде.

### О проекте
Проект базируется на следующих технологиях:
1. Python 3.7.9
2. Django 2.2.6
3. Django REST Framework 2.2.6
4. SimpleJWT
5. Виртуальная среда VENV (для разработки проекта в отдельном окружении)
6. Git (GitHub) (для сохранения и отслеживания изменений кода)
7. Линтер Flake8 (для проверки соответствия кода стандарту PEP8)

### Команда проекта
Тимлид - Светлана Логвинова (https://github.com/SvetlanaLogvinova88):

реализовала часть, касающуюся управления пользователями: систему регистрации и аутентификации, права доступа, работу с токеном, систему подтверждения через e-mail. Координировала работу команды, осуществляла взаимодействие с ревьюером (заказчиком) и отвечала за сборку проекта из веток.

Руслан Рахматуллин (https://github.com/Ruslan964):

реализовал систему отзывов и комментариев: описал модели, представления, настраивал эндпойнты, определял права доступа для запросов, а также реализовал систему рейтингов произведений.

Платон Егорченков (https://github.com/baby-platom):

реализовал управление категориями, жанрами и произведениями: описал модели, представления и эндпойнты для них, определял права доступа для запросов.

### Установка и запуск проекта:
1. Клонировать репозиторий и перейти в него в командной строке:
```
git clone https://github.com/SunnyInHouse/reviews_to_works.git
```
```
cd reviews_to_works
```

2. Cоздать и активировать виртуальное окружение:
```
python3 -m venv venv
```
```
source venv/bin/activate
```

3. Обновить pip в виртуальном окружении:
```
python3 -m pip install --upgrade pip
```

4. Установить зависимости из файла requirements.txt:
```
pip install -r requirements.txt
```

5. Перейти в папку проекта:
```
cd api_yamdb
```

6. Выполнить миграции:
```
python3 manage.py migrate
```

7. Запустить проект:
```
python3 manage.py runserver
```

### Примеры запросов:

Получение документации проекта (ТЗ):
GET http://127.0.0.1:8000/redoc/

Регистрация пользователя:
POST http://127.0.0.1:8000/api/v1/auth/signup/

Получение списка произведений:
GET http://127.0.0.1:8000/api/v1/titles/

Создание произведения:
POST http://127.0.0.1:8000/api/v1/titles/