Skip to content

AiserKz/AisMedia-Local

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 AisMedia

Локальный медиасервер для просмотра фильмов, сериалов, аниме и мультфильмов прямо в браузере, без интернета. Стек: 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

📸 Скриншоты

Главная страница Фильмы Страницы просмотра Страница просмотра серий Белая тема Админ панель Админ панель 2 Добавление фильма Добавление эпизода Интро mobile1 mobile2 mobile3 mobile4

⚙️ Установка и запуск

1. Клонировать репозиторий

git clone https://github.com/username/aismedia.git
cd aismedia

2. Запуск backend (Django)

pip install -r requirements.txt
python manage.py migrate
python manage.py runserver 0.0.0.0:8000

3. Запуск frontend (Vite + React)

cd frontend
npm install
npm run dev

📜 Лицензия

Свободно для личного использования. Коммерческое использование запрещено без согласия автора.

About

Локальный медиа сервер на django + vite(React)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors