Skip to content

rest-api для сбора отзывов📝 пользователей о произведениях(Книги📚, фильмы🎬 и музыка🔊)

License

Notifications You must be signed in to change notification settings

pacmancity/OpinioRater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpinioRater

python version django version drf version api version licence

О ПРОЕКТЕ

Проект - это RESTful API, разработанный для сбора отзывов пользователей о различных произведениях, таких как книги, фильмы и музыка. Этот API предоставляет удобный и эффективный способ для пользователей выражать свое мнение и оценивать произведения в различных категориях развлечений.

Основные функции API включают:

  1. Регистрация и аутентификация пользователей: Пользователи могут создавать учетные записи и аутентифицироваться для доступа к сервису.

  2. Добавление отзывов: Пользователи могут оставлять отзывы и комментарии к книгам, фильмам и музыке, выражая свои мнения и рецензии.

  3. Рейтинг и оценка: Пользователи могут проставлять оценки и рейтинги произведениям, что позволяет другим пользователям легче находить популярные и рекомендуемые работы.

  4. Поиск и фильтрация: API предоставляет возможность поиска произведений по различным критериям, таким как жанр, автор, режиссер и многое другое.

  5. Интеграция с произведениями: С помощью API можно получать информацию о книгах, фильмах и музыке из внешних источников, обогащая базу данных произведений.

  6. Аналитика и отчеты: Администраторы могут получать отчеты о активности пользователей и популярности произведений.

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

Stack проекта: Django, Django-rest-framework, simpleJWT, sqlite

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

developer Артём developer Никита developer Евгений

ЗАПУСК ПРОЕКТА


WINDOWS

▶️

Клонировать проект

git clone https://github.com/kluev-evga/api_yamdb.git

Установить локальное окружение

python -m venv venv

Активировать окружение

venv\Scripts\activate           # PowerShell
source venv/Scripts/activate    # Git Bash(Bash)

Установить зависимости

pip install -r requirements.txt

Перейти в папку с проектом

cd .\api_yamdb\

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

python3 manage.py migrate

запустить сервер

python3 manage.py runserver

LINUX & MacOS

▶️

Клонировать проект

git clone https://github.com/kluev-evga/api_yamdb.git

Установить локальное окружение

python3 -m venv venv

Активировать окружение

source venv/bin/activate

Установить зависимости

pip install -r requirements.txt

Перейти в папку с проектом

cd .\api_yamdb\

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

python3 manage.py migrate

запустить сервер

python3 manage.py runserver

БАЗА ДАННЫХ

База данных построена на основе SQLITE.
Схема базы данных создана при помощи DBML синтаксиса и приложения dbdocs.
Файл схеммы graph-db.dbml.

Установка и запуск приложения dbdocs:

npm install -g dbdocs
dbdocs login

выбрать метод аутентификации Email, указать свой email, скопировать код из email и вставить в консоль

dbdocs build graph-db.dbml

Последний шаг выведет в консоль ссылку на задеплоенный проект.

Добавление данных из csv файлов

Команда для добавления данных из csv

перейти в папку с проектом

cd api_yamdb

добавить все файлы из папки api_yamdb/static/data

python3 manage.py import_data_csv

добавить отдельный файл:

python3 manage.py import_data_csv —[file name].csv

Регистрация и авторизация

graph LR
api/v1/auth/signup-->POST;
POST-->user-exists?;
user-exists?-->yes-->skip-->Email_confirmation_code;
user-exists?-->no-->create-user-->Email_confirmation_code;
Loading
{
  "email": "user@example.com",
  "username": "john_doe"
}
```🔊

JWT

```mermaid
graph LR
api/v1/auth/token-->POST-->JWT-token;
{
  "username": "john_doe",
  "confirmation_code": "blyxv3-48b382b52eb0d5885cd281ca10a85839"
}

ЛИЦЕНЗИЯ

Распространяется по MIT лицензии. Для дополнительной информации смотри: LICENSE

About

rest-api для сбора отзывов📝 пользователей о произведениях(Книги📚, фильмы🎬 и музыка🔊)

Topics

Resources

License

Stars

Watchers

Forks