Cinemate-api
Стек проекта
О проекте
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. имя - Char
2. описание - Text
3. url - Slug
- Фильмы
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. название - Char
2. описание - Text
3. изображение - Image
4. фильм - FK
- Режиссеры\Актеры
1. имя - Char
2. возраст - Int
3. описание - Text
4. изображение - Image
- Звезды рейтинга
1. значение - Int
- рейтинг
1. ip - IP
2. звезда - FK
3. фильм - FK
- отзывы
1. email - Email
2. name - Char
3. text - Text
4. родитель (кому ответили)
5. фильм - FK
- Жанры
1. имя - Char
2. описание - Text
3. url - Slug
Схемма базы данных
Лицензия 📜
Этот проект распространяется под лицензией MIT
. Дополнительную информацию можно найти
в LICENSE.