Создание Караоке Базы Песен App -- 3

Job ID: 39756160

Budget: $30 – $250 USD

Техническое задание (ТЗ) для фрилансера: Создание программы для караоке-базы песен
1. Введение
1.1. Цель проекта
Разработать десктопную программу (KaraokeApp) для создания и управления караоке-базой песен на основе MP4-файлов (видео-караоке с текстами) на 5 ТБ HDD. Программа сканирует HDD, извлекает метаданные из MP4, создаёт локальную базу данных (SQLite) и поддерживает работу с текстовыми форматами (LRC, SRT, TXT). База интегрируется с Telegram-ботом "Karaoke Absolutis" для большого количества заведений (например, 50 000 песен в Казани, 100 000 в Питере, 200 000 в Москве), с разделением по заведениям (venue_id) для избежания путаницы.
1.2. Обзор системы
• База песен: MP4 в папках en/, ru/, ua/ на HDD (5 ТБ, разное количество песен по заведениям).
• Программа KaraokeApp: Сканирует MP4, создаёт karaoke.db с метаданными (название, исполнитель, жанр, язык, путь к файлу), поддерживает тексты (LRC, SRT, TXT), генерирует QR-код для бота "Karaoke Absolutis".
• Платформа: Python 3.13, Windows 10, SQLite.
1.3. Требования к фрилансеру
• Опыт: Python, SQLite, парсинг MP4 (mutagen или ffprobe), парсинг текстовых форматов (LRC, SRT), GUI (Tkinter или PyQt).
• Инструменты: Git для кода, pyinstaller для EXE.
2. Функциональные требования
2.1. Программа KaraokeApp (десктоп, Windows)
• Сканирование HDD:
o Выбор HDD, сканирование папок en/, ru/, ua/.
o Извлечение метаданных из MP4 (название, исполнитель, жанр, язык, длительность).
o Создание/обновление karaoke.db с таблицей songs (id, title, artist, genre, language, file_path, text_path для текстов).
• Работа с текстами:
o Чтение текстовых файлов (LRC для синхронизации, SRT для субтитров, TXT для простых текстов).
o Связывание текстов с MP4 в базе (по ID или имени файла).
o Просмотр текстов: синхронизированное отображение (LRC/SRT) или ручной режим (TXT).
• Интеграция с ботом:
o Генерация QR-кода (например, t.me/KaraokeAbsolutisBot?start=venue_id=X) для доступа к боту.
o Экспорт метаданных и путей к текстам из karaoke.db в формате, совместимом с ботом "Karaoke Absolutis" (например, JSON для HTTP-запроса).
• GUI: Интерфейс с вкладками:
o "Сканирование" (выбор HDD, запуск сканирования).
o "Тексты" (загрузка, просмотр, связывание LRC/SRT/TXT).
o "Просмотр базы" (таблица песен с метаданными и текстами).
o "QR-код" (генерация и сохранение).
• Мы создадим код для парсинга MP4 (mutagen), текстов (LRC/SRT/TXT), SQLite и GUI.
2.2. Нефункциональные требования
• Безопасность: Локальная работа, экспорт данных в бот через защищённый формат (например, HTTPS).
• Масштаб: Обработка до 200 000 песен.
• Тестирование: На 10 песнях, проверка на разных размерах баз и форматах текстов.
3. Приёмка
• Демонстрация программы, исходный код на GitHub, документация (README, инструкции по использованию).
Related categories: Python SQLite Database Management