/Cinemate-api

"Cinemate-apiI" 🎬 - мощный REST сервис, созданный с Django REST framework, для управления фильмами и отзывами. 📽️ Поддерживает PostgreSQL, обеспечивает безопасность с JWT токенами, и систему рейтингов и отзывов 🌟. Анализирует IP-адрес для учета только уникальных отзывов пользователей. 📊 Быстрое развертывание с тестовой базой данных включено! 🚀

Primary LanguagePythonMIT LicenseMIT

Cinemate-api


Стек проекта

Python Django Django REST framework Pillow django-ckeditor psycopg2-binary django-filter djoser djangorestframework-simplejwt drf-yasg django-rest-framework-social-oauth2 django-cors-headers Лицензия Размер кода

О проекте

REST API backend сервис для управления фильмами и отзывами. Этот проект является частью приложения "movies" и расширяет его функциональность.

Основные особенности проекта:

  • Использует базу данных PostgreSQL для хранения данных.
  • Разработан с использованием фреймворка Django REST framework.
  • Реализована аутентификация с использованием JWT токенов для обеспечения безопасности.
  • Поддерживает рекурсивное отображение отзывов, что позволяет удобно структурировать обратные связи.
  • Система сохраняет IP-адреса отправителей отзывов, что полезно для отслеживания и анализа активности пользователей.

Также в репозитории проекта находится копия тестовой базы данных в файле "movies.postgres.bak", что упрощает развертывание и восстановление данных при необходимости.

Установка

Для начала, склонируйте проект на свой компьютер:

git clone https://github.com/kluev-evga/Cinemate-api.git

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

cd Cinemate-api

После этого, создайте виртуальное окружение:

python3 -m venv env

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

Для Windows(power shell):

.\venv\Scripts\activate

Для macOS и Linux и windows(git bash):

source env/bin/activate

Установите зависимости, необходимые для проекта:

pip install -r requirements.txt

Запуск development сервера

Выполните миграции для базы данных:

python manage.py migrate

Запустите сервер:

python manage.py runserver

End-points documentation

После установки сервера документация доступна по адресу:

swagger/
redoc/

База Данных

  1. Категории
1. имя - Char
2. описание - Text
3. url - Slug
  1. Фильмы
1. название - Char
2. слоган - Char
3. описание - Text
4. постер - Image
5. год - Date
6. страна - Char
7. режиссер - M2M
8. актеры - M2M
9. жанр - M2M
10. премьера в мире - Char
11. бюджет - Char
12. сборы в США - Char
13. сборы в мире - Char
14. категория - FK 
15. url - Slug
16. черновик - Bool
  1. Кадры из фильма
1. название - Char
2. описание - Text
3. изображение - Image
4. фильм - FK
  1. Режиссеры\Актеры
1. имя - Char
2. возраст - Int
3. описание - Text
4. изображение - Image
  1. Звезды рейтинга
1. значение - Int
  1. рейтинг
1. ip - IP
2. звезда - FK
3. фильм - FK
  1. отзывы
1. email - Email
2. name - Char
3. text - Text
4. родитель (кому ответили)
5. фильм - FK

  1. Жанры
1. имя - Char
2. описание - Text
3. url - Slug

Схемма базы данных

Scheme

Лицензия 📜

Этот проект распространяется под лицензией MIT. Дополнительную информацию можно найти в LICENSE.