|
1 | | -# Laravel 12 Media Converter Template |
| 1 | +# Laravel 12 Video Downloader Template |
2 | 2 |
|
3 | | -A modern, responsive media conversion web application built with Laravel 12, based on the React YouTube downloader template structure. This template provides a clean, professional interface for media file conversion with multiple format support. |
| 3 | +A modern, responsive video downloader web application built with Laravel 12, based on the original React video downloader template. This application provides a clean, professional interface for downloading videos from popular platforms in various qualities and formats. |
4 | 4 |
|
5 | | -## Features |
| 5 | +## 🎯 Features |
6 | 6 |
|
7 | | -- **Multiple Conversion Types** |
8 | | - - 4K Video Conversion |
9 | | - - Audio Conversion (MP3, WAV, FLAC, etc.) |
10 | | - - Batch File Processing |
11 | | - - Audio to WAV Conversion |
12 | | - - 1080p Video Conversion |
| 7 | +### **Core Download Features** |
| 8 | +- **4K Video Downloads** - Ultra HD quality downloads |
| 9 | +- **Video to MP3/Audio** - Extract audio in multiple formats |
| 10 | +- **Playlist/Batch Downloads** - Download entire playlists or collections |
| 11 | +- **HD 1080p Downloads** - Full HD quality downloads |
| 12 | +- **Audio to WAV** - Lossless audio extraction |
13 | 13 |
|
14 | | -- **Modern UI/UX** |
15 | | - - Responsive design with Tailwind CSS |
16 | | - - Dark mode support |
17 | | - - Smooth animations and transitions |
18 | | - - Interactive file upload areas |
19 | | - - Progress tracking |
| 14 | +### **Technical Features** |
| 15 | +- **Laravel 12** framework with modern architecture |
| 16 | +- **Responsive Design** with Tailwind CSS and dark mode |
| 17 | +- **Alpine.js** for interactive UI components |
| 18 | +- **Progress Tracking** for download status |
| 19 | +- **Rate Limiting** to prevent abuse |
| 20 | +- **Database Logging** of all download activities |
| 21 | +- **RESTful API** endpoints for external integration |
20 | 22 |
|
21 | | -- **Technical Features** |
22 | | - - Laravel 12 framework |
23 | | - - Alpine.js for interactivity |
24 | | - - File upload and processing |
25 | | - - Queue system for background processing |
26 | | - - Database tracking of conversions |
27 | | - - RESTful API endpoints |
28 | | - |
29 | | -## Installation |
| 23 | +## 🚀 Installation |
30 | 24 |
|
31 | 25 | ### Prerequisites |
32 | | -- PHP 8.3+ |
33 | | -- Composer |
34 | | -- Node.js & NPM |
35 | | -- SQLite/MySQL/PostgreSQL |
| 26 | +- **PHP 8.3+** |
| 27 | +- **Composer** |
| 28 | +- **Node.js & NPM** |
| 29 | +- **Database** (SQLite/MySQL/PostgreSQL) |
36 | 30 |
|
37 | | -### Setup Steps |
| 31 | +### Quick Setup |
38 | 32 |
|
39 | 33 | 1. **Clone the repository** |
40 | 34 | ```bash |
41 | 35 | git clone <repository-url> |
42 | | - cd laravel-media-converter |
| 36 | + cd laravel-video-downloader |
43 | 37 | ``` |
44 | 38 |
|
45 | | -2. **Install PHP dependencies** |
| 39 | +2. **Install dependencies** |
46 | 40 | ```bash |
47 | 41 | composer install |
48 | | - ``` |
49 | | - |
50 | | -3. **Install Node.js dependencies** |
51 | | - ```bash |
52 | 42 | npm install |
53 | 43 | ``` |
54 | 44 |
|
55 | | -4. **Environment setup** |
| 45 | +3. **Environment setup** |
56 | 46 | ```bash |
57 | 47 | cp .env.example .env |
58 | 48 | php artisan key:generate |
59 | 49 | ``` |
60 | 50 |
|
61 | | -5. **Database setup** |
| 51 | +4. **Database setup** |
62 | 52 | ```bash |
63 | 53 | php artisan migrate |
64 | 54 | ``` |
65 | 55 |
|
66 | | -6. **Build assets** |
| 56 | +5. **Build assets & start server** |
67 | 57 | ```bash |
68 | 58 | npm run build |
69 | | - ``` |
70 | | - |
71 | | -7. **Start development server** |
72 | | - ```bash |
73 | 59 | php artisan serve |
74 | 60 | ``` |
75 | 61 |
|
76 | | -## Customization |
77 | | - |
78 | | -### Color Scheme |
79 | | -The color scheme can be customized by modifying the CSS variables in `resources/views/layouts/app.blade.php`: |
80 | | - |
81 | | -```css |
82 | | -:root { |
83 | | - --color-purple-main: #6c5ce7; |
84 | | - --color-heading-main: #2D3436; |
85 | | - --color-base-one: #4A5455; |
86 | | - /* ... other colors */ |
87 | | -} |
88 | | -``` |
89 | | - |
90 | | -### Adding New Conversion Types |
91 | | -1. Create a new controller method in `ConverterController` |
92 | | -2. Add a new route in `routes/web.php` |
93 | | -3. Create a corresponding Blade view in `resources/views/converters/` |
94 | | -4. Update the navigation links in the layout |
95 | | - |
96 | | -### File Processing |
97 | | -Implement actual file conversion logic in the `ConversionService` class. The template provides a structure for: |
98 | | -- File upload handling |
99 | | -- Conversion status tracking |
100 | | -- Background job processing |
101 | | -- Error handling |
102 | | - |
103 | | -## Routes |
104 | | - |
105 | | -- `/` - Home page with main conversion interface |
106 | | -- `/4k-video-converter` - 4K video conversion |
107 | | -- `/audio-converter` - Audio format conversion |
108 | | -- `/batch-converter` - Multiple file processing |
109 | | -- `/audio-to-wav` - Audio to WAV conversion |
110 | | -- `/video-1080p-converter` - 1080p video conversion |
111 | | -- `/api/convert` - API endpoint for file conversion |
112 | | - |
113 | | -## File Structure |
114 | | - |
115 | | -``` |
116 | | -├── app/ |
117 | | -│ ├── Http/Controllers/ |
118 | | -│ │ ├── HomeController.php |
119 | | -│ │ └── ConverterController.php |
120 | | -│ ├── Models/ |
121 | | -│ │ └── Conversion.php |
122 | | -│ └── Services/ |
123 | | -│ └── ConversionService.php |
124 | | -├── resources/ |
125 | | -│ └── views/ |
126 | | -│ ├── layouts/ |
127 | | -│ │ └── app.blade.php |
128 | | -│ ├── converters/ |
129 | | -│ │ ├── 4k-video.blade.php |
130 | | -│ │ ├── audio.blade.php |
131 | | -│ │ ├── batch.blade.php |
132 | | -│ │ ├── audio-wav.blade.php |
133 | | -│ │ └── 1080p.blade.php |
134 | | -│ └── home.blade.php |
135 | | -├── database/ |
136 | | -│ └── migrations/ |
137 | | -│ └── create_conversions_table.php |
138 | | -└── routes/ |
139 | | - └── web.php |
140 | | -``` |
141 | | - |
142 | | -## API Usage |
143 | | - |
144 | | -### Convert File |
145 | | -```bash |
146 | | -POST /api/convert |
147 | | -Content-Type: multipart/form-data |
148 | | - |
149 | | -{ |
150 | | - "file": <file>, |
151 | | - "format": "mp4", |
152 | | - "quality": "1080p" |
153 | | -} |
154 | | -``` |
155 | | - |
156 | | -### Response |
157 | | -```json |
158 | | -{ |
159 | | - "success": true, |
160 | | - "message": "File conversion started successfully", |
161 | | - "conversion_id": "uuid-string", |
162 | | - "estimated_time": 120 |
163 | | -} |
164 | | -``` |
| 62 | +Visit `http://localhost:8000` to see your video downloader! |
| 63 | + |
| 64 | +## 🎨 Route Structure |
| 65 | + |
| 66 | +| Original React Route | Laravel Route | Description | |
| 67 | +|---------------------|---------------|-------------| |
| 68 | +| `/` | `/` | Home page with main download interface | |
| 69 | +| `/4k-video-downloader` | `/4k-video-downloader` | 4K video downloads | |
| 70 | +| `/youtube-to-mp3` | `/video-to-mp3` | Video to audio conversion | |
| 71 | +| `/youtube-playlist-downloader` | `/playlist-downloader` | Batch/playlist downloads | |
| 72 | +| `/youtube-to-wav` | `/video-to-wav` | High-quality WAV extraction | |
| 73 | +| `/youtube-1080p-downloader` | `/video-1080p-downloader` | 1080p HD downloads | |
| 74 | + |
| 75 | +## 📱 UI Components |
| 76 | + |
| 77 | +### **Main Interface** |
| 78 | +- **Hero Section** with large URL input and instant download |
| 79 | +- **Video Preview** showing thumbnail, title, duration |
| 80 | +- **Quality/Format Selector** with real-time options |
| 81 | +- **Progress Tracking** with animated progress bars |
| 82 | +- **Quick Access** buttons for different download types |
| 83 | + |
| 84 | +### **Individual Pages** |
| 85 | +- **4K Downloader** - Ultra HD with quality options |
| 86 | +- **Audio Extractor** - Multiple audio formats and bitrates |
| 87 | +- **Playlist Downloader** - Batch processing with queue management |
| 88 | +- **WAV Converter** - Professional audio settings |
| 89 | +- **1080p Downloader** - Full HD with advanced options |
0 commit comments