This is a YouTube Video Downloader featuring a frontend built with React, Next.js, and TailwindCSS. The backend functionality for video downloading is handled by a separate Python API service built with Flask. This Flask backend interacts with yt-dlp to download videos based on requests from the Next.js frontend.
- Simple and user-friendly UI built with Next.js and TailwindCSS.
- Dedicated Python Flask backend API for handling download logic.
- Uses yt-dlp for powerful and reliable video downloading.
- Clear separation between frontend (Next.js) and backend (Flask) concerns.
- React - Frontend library
- Next.js - Frontend framework (Server-side rendering, routing, etc.)
- TailwindCSS - Styling and responsiveness
- TypeScript - Type safety and maintainability
- Python - Language for the backend API
- Flask - Micro web framework for the Python API
- Flask-Cors - Handles Cross-Origin Resource Sharing for the Flask API
- yt-dlp (Version 2025.01.15) - Powerful YouTube downloading library
- Clone the repository:
git clone https://github.com/your-username/youtube-downloader.git
- Navigate to the project folder:
cd youtube-downloader
- Install Node.js dependencies:
npm install
- Set up a Python virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install required Python libraries:
pip install yt-dlp
- Start the Next.js development server:
npm run dev
- Open the app in a browser.
- Paste a YouTube video URL into the input field.
- Click the Download button to start downloading.
- The Next.js API routes will process the request, call the Python script, and provide a downloadable file.