Локальный медиасервер для просмотра фильмов, сериалов, аниме и мультфильмов прямо в браузере, без интернета. Стек: Django + React (Vite) + TypeScript.
AisMedia - это личный локальный медиасервер, который разворачивается на вашем компьютере или домашнем сервере. Вы можете загружать и хранить фильмы, сериалы и аниме, а затем смотреть их из любого устройства в локальной сети (ПК, планшет, телефон) с удобным интерфейсом, адаптированным под мобильные экраны.
- Подходит для:
- Домашнего использования без зависимости от онлайн-сервисов
- Локального оффлайн-просмотра (например, в поездках)
- Организации своей коллекции медиа
- 📱 Адаптивный дизайн — оптимизирован под телефоны, планшеты и десктоп.
- 🗂 Категории — фильмы, аниме, мультфильмы, сериалы, прочее.
- 🎭 Фильтрация по жанрам и быстрый поиск.
- ⚡ Мгновенная загрузка — React + Vite + TypeScript.
- 🛠 Работает локально — доступен без интернета в одной сети.
- ⏳ Skeleton-загрузчики — плавная подгрузка контента.
- 🎬 Поддержка серий и сезонов.
- 🔑 Авторизация и уровни доступа (обычный пользователь, администратор).
- 📤 Админ-панель — загрузка фильмов, добавление серий, редактирование жанров и пользователей.
- 🎥 Потоковое воспроизведение через HTTP.
- 🔎 Пойск фильма или сериала
Frontend
- React 18
- TypeScript
- Vite
- TailwindCSS (адаптивная верстка)
- DaisyUI (UI-компоненты)
- Axios (работа с API)
Backend
- Django
- Django REST Framework (DRF)
- JWT (djangorestframework-simplejwt) для аутентификации
- SQLite
Прочее
- Docker (опционально для деплоя)
- Nginx (опционально для проксирования)
📂 Структура проекта
AisMedia/
│
├── AisMedia/ # Django проект (API)
│ ├── media/ # Модели и API для фильмов/жанров
│ ├── settings.py # Настройки Django
│ └── ...
│
│
│── main/ Главный скрипт с моделями и правами
│ ├──perimissions.py # Скрипт для проверки уровня пользовотеля
│ ├──signals.py # Перехвать создание модели пользовотеля
│ ├──utils.py # Скрипт для работы с видео конвертация и получение длины видео с дальнейшим установкой на БД
│ ├──serializers.py # Сериализация полученых модели с БД
│ ├──...
│
│── api/ Работа с api запросами с фронта
│ ├── ViewSet # Папка с ViewSet обработчиками
│ │ ├── AdminViewSet.py # View для работы с админ панелю с фронта с проверкой прав пользовотеля и типа запроса, с костомным @action
│ │ ├── MovieViewSet.py # View для работы с моделю фильмов получение фильма и пойск и тд
│ │ ├── ProfileViewSet.py # Обработчик действий профиля пользовотеля PUT GET POST DELETE и тд
│ │
│ ├──signals.py # Перехвать создание модели пользовотеля
│ ├──utils.py # Скрипт для работы с видео конвертация и получение длины видео с дальнейшим установкой на БД
│ ├──serializers.py # Сериализация полученых модели с БД
│ ├──...
│
│
├── frontend/ # React + Vite проект
│ ├── src/
│ │ ├── Components/ # Компоненты (MediaCard, SkeletonCard, etc.)
│ │ ├── Pages/ # Страницы (DefaultPage, ...)
│ │ ├── Interface/ # TypeScript типы
│ │ ├── Script/ # Скрипт хелперы auth и тд
│ │ ├── Layout/ # Главные слои
│ │ ├── config.tsx/ # Файл с текущим адресом django бэк нужно правильно установить адрес и порт бэка
│ │ └── main.tsx
│ └── ...
│
└── README.md
📸 Скриншоты
git clone https://github.com/username/aismedia.git
cd aismediapip install -r requirements.txt
python manage.py migrate
python manage.py runserver 0.0.0.0:8000cd frontend
npm install
npm run devСвободно для личного использования. Коммерческое использование запрещено без согласия автора.













