Веб-разработка и веб-технологии
March 22

🎬 Ваш корпоративный видеоцентр

Веб-приложение на Flask, позволяющее хранить, публиковать и просматривать видео внутри компании.
Поддерживает роли пользователей, категории, лайки и удобную админку.

🚀 Возможности

  • 🔑 Авторизация через логин/пароль (роли: admin, moderator, user).
  • 📂 Загрузка видео (поддержка форматов mp4, mov, webm, mkv).
  • 🖼 Превью (обложки видео).
  • 🗂 Категории видео.
  • 👀 Счётчик просмотров.
  • 👍 Лайки (для авторизованных и гостей).
  • ⚙️ Админка для управления категориями и видео.

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

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

git clone <repo-url>
cd flask_video_portal_with_thumbnails_final

2. Создать виртуальное окружение

python -m venv .venv
source .venv/bin/activate   # Linux/macOS
.venv\Scripts\activate      # Windows

3. Установить зависимости

pip install -r requirements.txt

4. Инициализировать базу

flask --app manage.py init-db

5. Создать администратора

flask --app manage.py create-admin

6. Запуск

flask --app manage.py run

Приложение будет доступно на:
👉 http://127.0.0.1:5000

👥 Роли пользователей

  • Admin → управление категориями и видео.
  • Moderator → загрузка/редактирование видео.
  • User → просмотр и лайки.

📂 Структура проекта

flask_video_portal_with_thumbnails_final/
│── app/
│   ├── init.py      # создание Flask-приложения
│   ├── routes.py        # основные страницы и админка
│   ├── auth.py          # авторизация (login/logout)
│   ├── models.py        # модели SQLAlchemy
│   ├── forms.py         # формы (логин, загрузка видео)
│   ├── utils.py         # утилиты и декораторы
│   ├── templates/       # HTML-шаблоны (Jinja2)
│   └── static/          # стили, JS, изображения
│── manage.py            # команды управления (init-db, create-admin)
│── videos.db            # база данных SQLite
│── requirements.txt     # зависимости

🔮 Будущие улучшения

  • 🌐 Поддержка PostgreSQL/MySQL вместо SQLite для продакшена.
  • 📡 REST API для интеграции с другими сервисами.
  • 🔍 Поиск и фильтрация видео по тегам и категориям.
  • 💬 Комментарии под видео.
  • 📊 Статистика просмотров (графики, аналитика).
  • 🏷 Поддержка тегов для видео.
  • 👤 Регистрация пользователей через e-mail.
  • 🛡 Двухфакторная авторизация (2FA).
  • ☁️ Хранение видео в облаке (S3/MinIO) вместо локальных файлов.
  • 🎨 Более современный UI (Bootstrap/Tailwind).

🔗 Исходный код

javascript css python html flask html5 js sqlite python3 sqlite3 flask-server