Skip to content

kyctarnik/VideoHostFX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VideoHostFX

Небольшой учебный проект на JavaFX в тематике видеохостинга.

Делал его как практическую работу: хотел, чтобы выглядел аккуратно, запускался без танцев с бубном и при этом оставался коротким по коду.

Что в итоге реализовано

  • Главное окно с логотипом и заголовком сервиса.
  • Боковая панель навигации:
    • Главная
    • Мои видео
    • Тренды
    • Подписки
  • Поисковая строка (UI-часть).
  • Секция Популярные видео с карточками:
    • название
    • автор
    • статистика просмотров
  • Открытие окна плеера-заглушки по клику на карточку.
  • Заглушки разделов Мои видео / Тренды / Подписки.

Анимации

В проекте есть несколько типов анимации, чтобы интерфейс не был статичным:

  • Плавное появление карточек на главной (fade + slide).
  • Подъем и легкое увеличение карточек при наведении.
  • Анимация клика по карточке перед открытием плеера.
  • Плавное появление/закрытие окна плеера.
  • Анимированные переходы между разделами в боковой навигации.
  • Небольшая анимация выбора кнопки в меню.
  • Staggered-появление элементов в разделах-заглушках.

Техническая часть

  • Язык: Java
  • UI: JavaFX (controls)
  • Сборка: модульный проект
  • Версия целевой компиляции: Java 17

Как запустить

Рекомендуемый способ

В корне проекта есть скрипт run.ps1, который:

  1. очищает target/classes,
  2. компилирует проект с --release 17,
  3. копирует ресурсы из src/main/resources,
  4. запускает приложение.

Команда запуска:

powershell -ExecutionPolicy Bypass -File .\run.ps1

Почему именно так

В процессе разработки всплывали типичные проблемы JavaFX/модулей (например, несовместимость байткода и нюансы запуска). Поэтому добавил отдельный скрипт, чтобы запуск был воспроизводимым и понятным для проверки.

Структура проекта (кратко)

  • src/main/java/ru/synergy/videohost/App.java — точка входа.
  • src/main/java/ru/synergy/videohost/ui/MainView.java — главный интерфейс и навигация.
  • src/main/java/ru/synergy/videohost/ui/PlayerDialog.java — окно плеера-заглушки.
  • src/main/java/ru/synergy/videohost/model/VideoItem.java — модель карточки видео.
  • src/main/resources/styles/styles.css — стили.
  • run.ps1 — скрипт сборки и запуска.

Что можно развить дальше

  • Реальный поиск по данным.
  • Хранение видео и авторов в JSON/БД.
  • Настоящее воспроизведение медиа.
  • Авторизация пользователя.
  • Фильтры и сортировка.

Если коротко: это аккуратный MVP под учебную задачу, где есть интерфейс, навигация, анимации и рабочий запуск.

About

Суместр 7, ПМ02. Проект на JAVA для Синергии

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors