This repository contains a simple project split into a React frontend and a Python backend using Flask. It allows you to download and convert YouTube videos by providing a URL or searching and selecting a target format. This project is a heavy work in progress.
-
client/src/App.jsx
Main React component that sets up the application layout. -
client/src/components/
React components for the frontend. -
server/src/yt_downloader.py
Python module usingyt-dlp
for downloading and converting videos. -
server/src/routes.py
Flask routes to handle API endpoints.
- Node.js and npm for the frontend.
- Python and pip for the backend.
- Docker installed to run containers.
This project is fully dockerized. To run the entire application using Docker and docker-compose:
-
Ensure Docker is installed and running.
-
In the client Dockerfile change the IP address to your server address (this will change)
-
From the project root directory, execute:
docker-compose up --build
- Navigate to the
client
directory. - Run
npm install
. - Start the development server with
npm run dev
(or using the provided shell script).
- Navigate to the
server
directory. - Create and activate a virtual environment.
- Run
pip install -r requirements.txt
. - Start the Flask server (for example, via
./dev_start_server.sh
or your chosen entry point).