LitMusic — это простое веб-приложение, созданное на Flask для хранения, прослушивания и управления музыкальными треками. Изначально разработанное для удобного хранения и обмена ссылками на музыку для использования в радио в Garry's Mod, оно эволюционировало, чтобы позволить связывать загруженные треки с их оригинальными URL-адресами (например, с определенного веб-сайта, требуемого Garry's Mod), предоставляя при этом предварительное прослушивание на сайте. Это позволяет легко скопировать оригинальную ссылку для использования в другом месте после подтверждения нужного трека.
- Загрузка и хранение треков: Загружайте музыкальные файлы непосредственно на сервер. Поддерживаются распространенные аудиоформаты, такие как MP3, WAV, AAC, FLAC, OGG и M4A.
- Прослушивание на сайте: Предварительно прослушивайте треки непосредственно в веб-интерфейсе.
- Привязка внешних источников: Связывайте загруженные треки с их исходными URL-адресами. Это позволяет легко копировать исходную ссылку для использования в других местах.
- Описание треков и тегирование: Добавляйте описания и несколько тегов к трекам для лучшей организации и поиска.
- Функциональность поиска: Ищите треки по названию, описанию и тегам.
- Панель администратора (защищена паролем): Управляйте треками (добавление и удаление) через простую систему входа администратора с использованием JWT для аутентификации.
- Резервное копирование/восстановление базы данных: Загрузите всю базу данных и файлы треков в виде ZIP-архива для резервного копирования и восстановления.
- Пагинация: Эффективно просматривайте большие музыкальные библиотеки с помощью пагинации.
- Адаптивный дизайн: Адаптируется к различным размерам экрана для удобства пользователей на настольных и мобильных устройствах.
- Перетаскивание файлов для загрузки: Легко добавляйте треки, перетаскивая аудиофайлы в интерфейс.
- Уведомления на стороне клиента: Удобные уведомления предоставляют обратную связь о действиях (успешная загрузка, подтверждение удаления и т. д.)
- Докеризация для легкого развертывания: Включает Dockerfile для упрощенного развертывания и согласованности среды.
- Python 3
- Docker (рекомендуется)
- Клонируйте репозиторий:
git clone https://github.com/your-username/LitMusic.git
- Соберите Docker-образ:
cd LitMusic docker build -t litmusic .
- Запустите Docker-контейнер:
Это сделает приложение доступным на порту 6390.
docker run -d -p 6390:6390 litmusic
-
Клонируйте репозиторий:
git clone https://github.com/your-username/LitMusic.git
-
Создайте виртуальное окружение (рекомендуется):
-
Установите зависимости:
pip install -r requirements.txt
-
Запустите приложение:
python app.py
- Откройте веб-интерфейс: Откройте веб-браузер и перейдите по адресу
http://localhost:6390(или соответствующему IP-адресу/порту, если развернуто удаленно). - Просмотр и воспроизведение треков: Нажмите кнопку воспроизведения на плитке трека для прослушивания.
- Поиск: Используйте панель поиска для фильтрации треков по названию.
- Вход администратора: Нажмите "Войти как админ", чтобы получить доступ к форме входа администратора. Пароль по умолчанию — "viktortop4ik" (ВАЖНО: Измените это в производственной среде!).
- Добавление треков (администратор): Используйте кнопку "Добавить Трек" в панели администратора для загрузки новых треков. Укажите название, необязательное описание, исходный URL-адрес (если применимо) и теги.
- Удаление треков (администратор): Нажмите кнопку удаления (значок x) на плитке трека в панели администратора.
- Резервное копирование базы данных: Скачайте базу данных и файлы треков, нажав кнопку/ссылку «Скачать БД» (если реализовано в пользовательском интерфейсе — функциональность доступна в
app.py). - Восстановление базы данных: Загрузите ZIP-архив резервной копии базы данных (если реализовано в пользовательском интерфейсе — функциональность доступна в
app.py).
- Секретный ключ: Секретный ключ JWT в настоящее время установлен как
'your_secret_key_here'вapp.py. Измените это на надежный, случайный ключ в производственной среде! - База данных: Приложение по умолчанию использует базу данных SQLite (
database.db). - Разрешенные расширения файлов: Вы можете изменить набор
ALLOWED_EXTENSIONSвapp.py, чтобы ограничить или расширить типы аудиофайлов, которые можно загружать. - Статические файлы: Статические файлы (CSS, JS, значки) расположены в каталоге
static. - Шаблоны: HTML-шаблоны расположены в каталоге
templates.
Приветствуются любые вклады! Не стесняйтесь отправлять запросы на включение изменений или открывать вопросы для сообщений об ошибках и предложений по функциям.