Проект - это RESTful API, разработанный для сбора отзывов пользователей о различных произведениях, таких как книги, фильмы и музыка. Этот API предоставляет удобный и эффективный способ для пользователей выражать свое мнение и оценивать произведения в различных категориях развлечений.
Основные функции API включают:
-
Регистрация и аутентификация пользователей: Пользователи могут создавать учетные записи и аутентифицироваться для доступа к сервису.
-
Добавление отзывов: Пользователи могут оставлять отзывы и комментарии к книгам, фильмам и музыке, выражая свои мнения и рецензии.
-
Рейтинг и оценка: Пользователи могут проставлять оценки и рейтинги произведениям, что позволяет другим пользователям легче находить популярные и рекомендуемые работы.
-
Поиск и фильтрация: API предоставляет возможность поиска произведений по различным критериям, таким как жанр, автор, режиссер и многое другое.
-
Интеграция с произведениями: С помощью API можно получать информацию о книгах, фильмах и музыке из внешних источников, обогащая базу данных произведений.
-
Аналитика и отчеты: Администраторы могут получать отчеты о активности пользователей и популярности произведений.
Этот проект предоставляет платформу для обмена мнениями и рекомендациями, помогая пользователям находить интересные произведения и делиться своими впечатлениями.
Stack проекта: Django, Django-rest-framework, simpleJWT, sqlite
Клонировать проект
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
Клонировать проект
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
перейти в папку с проектом
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;
{
"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