Initial commit: Complete Quixotic Telegram MiniApp implementation

- Set up Express.js server with YouTube search and MP3 conversion API
- Created Telegram Web App frontend with responsive design
- Implemented SQLite database for user management and history
- Added Telegram Bot integration with commands and Web App support
- Configured FFmpeg-based audio conversion pipeline
- Added comprehensive documentation and deployment guides

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Andrey Kondratev
2025-08-25 10:37:07 +05:00
commit 2bfb456cf3
9 changed files with 968 additions and 0 deletions

51
WORKLOG.md Normal file
View File

@@ -0,0 +1,51 @@
# Quixotic - Work Log
## 2025-08-25
### Project Setup
- [x] Initialized project structure with directories: src/, public/, database/
- [x] Created package.json with required dependencies:
- express (web server)
- sqlite3 (database)
- node-telegram-bot-api (Telegram bot)
- ytdl-core (YouTube downloads)
- fluent-ffmpeg (MP3 conversion)
- axios (HTTP requests)
- [x] Set up SQLite database schema with tables:
- users (telegram users)
- search_history (user search queries)
- downloads (converted files tracking)
- [x] Initialized git repository
### Completed Features
- [x] Create Telegram Web App HTML interface
- [x] Implement YouTube search functionality
- [x] Add video thumbnail display
- [x] Implement MP3 conversion with ffmpeg
- [x] Set up Telegram bot integration
- [x] Created configuration files (.env.example, .gitignore)
- [x] Added comprehensive README with deployment instructions
### Technical Implementation
- **Frontend**: Responsive Web App with Telegram Web App SDK integration
- **Backend**: Express.js server with RESTful API
- **Database**: SQLite with user management and search history
- **YouTube**: Custom search implementation with fallback methods
- **Audio**: FFmpeg-based MP3 conversion pipeline
- **Bot**: Full Telegram Bot API integration with inline queries
### Files Created
- `src/server.js` - Main Express server with API endpoints
- `src/bot.js` - Telegram bot with commands and Web App integration
- `src/youtube.js` - YouTube search and audio stream extraction
- `src/database.js` - SQLite database management
- `public/index.html` - Web App interface
- `public/style.css` - Responsive CSS with Telegram theming
- `public/script.js` - Frontend JavaScript with Web App SDK
- Configuration and documentation files
### Next Steps for Deployment
- [ ] Install FFmpeg on target server
- [ ] Set up environment variables
- [ ] Configure Telegram bot with BotFather
- [ ] Deploy to hosting platform (Heroku/VPS)