+
Skip to content

wpotoke/movie-flow

Repository files navigation

Movie-flow

MovieFlow — Django-платформа для потокового просмотра фильмов и сериалов

🎬 MovieFlow — это полнофункциональное веб-приложение на Django для стриминга фильмов и сериалов. Поддерживаются просмотр, поиск, пользовательские профили, загрузка обложек и видео, OAuth-авторизация, API-доступ и многое другое.


🔍 Описание и возможности

Веб-интерфейс (movie_app)

  • Главная страница: Отображает последние добавленные фильмы и сериалы.
  • Фильмы и сериалы: У каждого фильма/сериала есть своя страница с описанием, обложкой, плеером, актёрами, сезонами и сериями.
  • Поиск: По названию и ключевым словам, реализован через форму.
  • Актёры: Страницы с биографией и фильмографией.
  • Шаблоны: Используются Django templates (HTML + фильтры и кастомные теги в templatetags).

Пользователи (user)

  • Регистрация и вход: Включает классические формы и OAuth авторизацию через Google.
  • Профиль пользователя: Содержит информацию об активности, просмотренных фильмах, избранном.
  • Кастомная модель пользователя: Расширяет AbstractUser.

API-интерфейс (movie_app_api)

  • Django REST Framework: Реализует сериализацию моделей фильмов, сериалов, актёров и пользователей.
  • Авторизация через Djoser: Поддерживает токены, регистрацию, смену пароля и т.д.
  • Swagger/OpenAPI: Генерация схемы и документации через drf-spectacular.

Видео и медиа (media/)

  • Фильмы и сериалы лежат в формате .mp4 и других, разделены по категориям (фильмы, сериалы, эпизоды).
  • Есть обложки, постеры и изображения актёров.
  • Хранение осуществляется в media/, доступ настроен через MEDIA_URL.

Шаблоны и компоненты

  • index.html, film.html, serial.html, actor.html — визуальные шаблоны с логикой отображения.
  • Кастомные фильтры — например, форматирование даты, извлечение жанров.
  • video_player/ содержит утилиты и возможно стили или скрипты для видеоплеера.

Прочее

  • Статичные файлы хранятся в static/.
  • Используются дампы (fixtures/) для загрузки тестовых данных.
  • Проект поддерживает Postgres (через psycopg2), но может работать и с SQLite.
  • Логика разбита по приложениям: movie_app, movie_app_api, user — каждая часть изолирована и расширяема.

🧱 Архитектура

  • Backend: Django + Django REST Framework
  • Frontend: Django templates, Bootstrap/CSS
  • OAuth: через social-auth-app-django
  • Медиа-хостинг: локально через MEDIA_ROOT
  • API: Djoser + JWT + Swagger/OpenAPI
  • Данные: модели Film, Serial, Actor, Episode, Genre, UserProfile

📁 Структура проекта (упрощённая)

movie_project/
├── movie_app/           # Логика сайта: фильмы, сериалы, шаблоны
├── movie_app_api/       # API: сериализация, представления, права
├── user/                # Регистрация, профили, OAuth
├── templates/           # Общие HTML-шаблоны
├── static/              # Стили, JS, иконки
├── media/               # Фильмы, обложки, изображения
├── fixtures/            # Дампы начальных данных
├── video_player/        # Модули и утилиты для плеера
└── manage.py, settings.py и пр.

📌 Особенности

  • Поддержка видеофайлов и их отображения через HTML5-плеер
  • Кастомизация интерфейса под фильмы и сериалы (жанры, рейтинги, год выпуска)
  • Разделение сериалов по сезонам и эпизодам
  • Фильтрация по жанру, типу контента (кино/сериал)
  • Интеграция с внешней системой (через API) возможна без правки фронта

Проект хорошо масштабируется и может быть развернут как для локального стриминга, так и в продакшн-среде.

Снимок экрана 2025-05-12 234010 Снимок экрана 2025-05-12 234019 Снимок экрана 2025-05-12 234033 Снимок экрана 2025-05-12 234120 Снимок экрана 2025-05-12 234105 image Снимок экрана 2025-05-12 234043 Снимок экрана 2025-05-12 234133

Технологии

Команда_проекта

About

my cinema

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载