An open API service indexing awesome lists of open source software.

https://github.com/simatwa/y2mate-clone

Search and download YouTube videos with a y2mate.com kind of experience
https://github.com/simatwa/y2mate-clone

y2mate y2mate-clone y2mate-mp3-download y2mate-mp4-download youtube-downloader youtube-downloader-interface

Last synced: 10 months ago
JSON representation

Search and download YouTube videos with a y2mate.com kind of experience

Awesome Lists containing this project

README

          

y2mate-clone


License
Latest release
release date
Black


Web-interface for Youtube-Downloader-API inspired by y2mate.com

https://github.com/user-attachments/assets/07bca8e0-1e63-4629-8936-2d4a15c0eda6

# Pre-requisites

- [Python version 3.10 or higher](https://python.org)
- [Git](https://git-scm.com/)

# Installation and Usage

- Clone repository and enter the project directory.

```sh
git clone --recurse-submodules https://github.com/Simatwa/y2mate-clone.git
cd y2mate-clone
```

- Install backend dependencies

```sh
cd backend
pip install -r requirements.txt
```

- Start the backend server

```sh
python -m fastapi run app
```

- On another terminal tab, start the frontend server from the root directory of the project

```
python -m http.server 8080 -d frontend
```

Then you can now access the web-interface from .

> [!TIP]
> You can interact with one run now at

Change the Base URL of the API to point to the one we had setup before and enjoy the service.



## How to serve both API and Frontend contents from one server

1. Navigate to the backend directory.

```sh
cd backend
```

2. Create a **.env** file *(configuration file)*.

```sh
cp configs/env/example .env
```

3. Update path to frontend directory in the`.env` file identified by key `frontend_dir`

```sh
frontend_dir = ../frontend
```

4. Start the server

```sh
python3 -m fastapi run app
```

- Now both API and frontend contents will be served from

> [!NOTE]
> Purpose to checkout [Youtube-Downloader-API](https://github.com/Simatwa/youtube-downloader-api) to learn more about customizing the REST-API.

# License

- [x] [MIT](LICENSE)