🎬 MovieFlow — это полнофункциональное веб-приложение на Django для стриминга фильмов и сериалов. Поддерживаются просмотр, поиск, пользовательские профили, загрузка обложек и видео, OAuth-авторизация, API-доступ и многое другое.
- Главная страница: Отображает последние добавленные фильмы и сериалы.
- Фильмы и сериалы: У каждого фильма/сериала есть своя страница с описанием, обложкой, плеером, актёрами, сезонами и сериями.
- Поиск: По названию и ключевым словам, реализован через форму.
- Актёры: Страницы с биографией и фильмографией.
- Шаблоны: Используются
Django templates
(HTML + фильтры и кастомные теги вtemplatetags
).
- Регистрация и вход: Включает классические формы и OAuth авторизацию через Google.
- Профиль пользователя: Содержит информацию об активности, просмотренных фильмах, избранном.
- Кастомная модель пользователя: Расширяет
AbstractUser
.
- Django REST Framework: Реализует сериализацию моделей фильмов, сериалов, актёров и пользователей.
- Авторизация через Djoser: Поддерживает токены, регистрацию, смену пароля и т.д.
- Swagger/OpenAPI: Генерация схемы и документации через
drf-spectacular
.
- Фильмы и сериалы лежат в формате
.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) возможна без правки фронта
Проект хорошо масштабируется и может быть развернут как для локального стриминга, так и в продакшн-среде.
- Морозов Данила — Back-End Engineer