dockify
This commit is contained in:
48
.serena/memories/project_structure.md
Normal file
48
.serena/memories/project_structure.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# Quixotic Project Structure
|
||||
|
||||
## Directory Layout
|
||||
```
|
||||
quixotic/
|
||||
├── src/ # Backend source code
|
||||
│ ├── server.js # Main Express server (entry point)
|
||||
│ ├── bot.js # Telegram bot logic
|
||||
│ ├── youtube.js # YouTube service (YouTubeService class)
|
||||
│ └── database.js # SQLite database wrapper (Database class)
|
||||
├── public/ # Static frontend assets
|
||||
│ ├── index.html # Main Web App interface
|
||||
│ ├── style.css # Styles for the Web App
|
||||
│ └── script.js # Client-side JavaScript
|
||||
├── database/ # SQLite database files
|
||||
├── downloads/ # Generated MP3 files (created at runtime)
|
||||
├── .serena/ # Serena configuration
|
||||
├── .claude/ # Claude Code configuration
|
||||
├── package.json # Project configuration and dependencies
|
||||
├── yarn.lock # Yarn lockfile
|
||||
├── .env.example # Environment variables template
|
||||
├── .gitignore # Git ignore rules
|
||||
├── README.md # Project documentation
|
||||
├── WORKLOG.md # Development log
|
||||
├── YOUTUBE_SETUP.md # YouTube setup instructions
|
||||
└── .mcp.json # MCP configuration
|
||||
```
|
||||
|
||||
## Key Files and Their Roles
|
||||
|
||||
### Backend (src/)
|
||||
- **server.js**: Main Express server with API endpoints:
|
||||
- `POST /api/search` - Search YouTube videos
|
||||
- `POST /api/convert` - Convert video to MP3
|
||||
- `GET /downloads/:filename` - Serve MP3 files
|
||||
- `GET /health` - Health check endpoint
|
||||
|
||||
- **youtube.js**: YouTube service handling video search and metadata
|
||||
- **database.js**: SQLite database wrapper with tables for users, search_history, downloads
|
||||
- **bot.js**: Telegram bot integration
|
||||
|
||||
### Frontend (public/)
|
||||
- **index.html**: Telegram Web App interface
|
||||
- **script.js**: Client-side logic for search and conversion
|
||||
- **style.css**: Web App styling
|
||||
|
||||
## API Architecture
|
||||
RESTful API with Express.js serving both the Web App and API endpoints. The app uses SQLite for persistent storage and FFmpeg for audio processing.
|
||||
Reference in New Issue
Block a user