This commit is contained in:
Andrey Kondratev
2025-08-28 17:15:41 +05:00
parent 7c5492aefa
commit 9b53366a98
6 changed files with 138 additions and 33 deletions

104
README.md
View File

@@ -1,15 +1,36 @@
# 🎵 Quixotic - YouTube to MP3 Telegram MiniApp
# 🎵 Quixotic - Music Search Telegram MiniApp
Telegram miniapp для поиска музыки на YouTube и конвертации в MP3.
Telegram miniapp для поиска и скачивания музыки (в разработке).
## Возможности
## ⚠️ Current Status: UNDER DEVELOPMENT
- 🔍 Поиск видео на YouTube
- 🎵 Конвертация в MP3 с помощью FFmpeg
- 📱 Telegram Web App интерфейс
- 💾 SQLite база данных
- 📊 История поиска
- 🤖 Telegram Bot интеграция
**The app is currently non-functional** due to the following issues:
- **YouTube integration abandoned** - Bot detection blocks all anonymous access
- **SoundCloud integration failed** - API restrictions and ID mismatch between frontend/backend
- 🔄 **TypeScript migration completed** - All code converted from JavaScript to TypeScript
- 🔄 **Alternative sources being evaluated** - Archive.org, Jamendo, Bandcamp under consideration
### What Works:
- ✅ Telegram Bot setup and Web App integration
- ✅ Frontend interface (search/UI)
- ✅ SQLite database functionality
- ✅ Docker deployment setup with Traefik SSL
- ✅ Full TypeScript support with proper typing
### What's Broken:
- ❌ Music search (no working backend service)
- ❌ MP3 conversion (depends on working search)
- ❌ Download functionality
## Планируемые возможности
- 🔍 Поиск музыки (источник определяется)
- 🎵 Конвертация в MP3 с помощью FFmpeg
- 📱 Telegram Web App интерфейс (✅ готов)
- 💾 SQLite база данных (✅ готова)
- 📊 История поиска (✅ готова)
- 🤖 Telegram Bot интеграция (✅ готова)
## Установка
@@ -21,7 +42,18 @@ cd quixotic
yarn install
```
### 2. Установка FFmpeg
### 2. Сборка TypeScript проекта
```bash
# Сборка всего проекта (backend + frontend)
yarn build
# Или раздельно:
yarn build:backend # компилирует src/*.ts в dist/
yarn build:frontend # компилирует public/script.ts в public/dist/
```
### 3. Установка FFmpeg
**macOS:**
@@ -39,14 +71,14 @@ sudo apt install ffmpeg
**Windows:**
Скачайте с [ffmpeg.org](https://ffmpeg.org/download.html)
### 3. Создание Telegram бота
### 4. Создание Telegram бота
1. Напишите [@BotFather](https://t.me/BotFather) в Telegram
2. Создайте нового бота: `/newbot`
3. Получите токен бота
4. Настройте Web App: `/newapp`
### 4. Настройка окружения
### 5. Настройка окружения
```bash
cp .env.example .env
@@ -62,33 +94,61 @@ PORT=3000
## Запуск
⚠️ **Внимание**: Приложение сейчас не работает из-за проблем с интеграцией музыкальных сервисов
### Разработка
```bash
# TypeScript разработка с hot reload
yarn dev
# Ручная сборка при необходимости
yarn build
```
### Продакшн
```bash
# Сборка проекта
yarn build
# Запуск скомпилированного кода
yarn start
```
### Docker (рекомендуется)
```bash
# С Traefik и SSL
docker-compose --env-file .env.docker up -d
# Простой запуск
docker-compose up -d
```
## Структура проекта
```bash
quixotic/
├── src/
│ ├── server.js # Express сервер
│ ├── bot.js # Telegram бот
│ ├── youtube.js # YouTube API
│ └── database.js # SQLite база данных
├── src/ # TypeScript исходники
│ ├── server.ts # Express сервер (главный)
│ ├── bot.ts # Telegram бот
│ ├── soundcloud.ts # SoundCloud API (не работает)
│ └── database.ts # SQLite база данных
├── dist/ # Скомпилированный JavaScript
│ ├── server.js # Готовый к запуску сервер
│ └── ...
├── public/
│ ├── index.html # Web App интерфейс
│ ├── style.css # Стили
── script.js # JavaScript
├── database/ # SQLite файлы
├── downloads/ # MP3 файлы
│ ├── index.html # Web App интерфейс
│ ├── style.css # Стили
── script.ts # TypeScript исходник
│ └── dist/
│ ├── script.js # Скомпилированный frontend
│ └── script.js.map
├── database/ # SQLite файлы
├── .serena/memories/ # AI память проекта
├── tsconfig.json # TypeScript конфиг (backend)
├── tsconfig.frontend.json # TypeScript конфиг (frontend)
└── package.json
```