{"id":14970010,"url":"https://github.com/amliyanage/project-tunetap","last_synced_at":"2025-10-26T10:31:42.837Z","repository":{"id":255139477,"uuid":"846844031","full_name":"amliyanage/Project-TuneTap","owner":"amliyanage","description":"The backend server, built with Node.js and Express, uses ytdl-core to fetch YouTube video details and formats.","archived":false,"fork":false,"pushed_at":"2024-09-19T04:40:29.000Z","size":991,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-31T18:29:34.276Z","etag":null,"topics":["express","http-server","nodejs","rest-api","video-streaming","ytdl-core"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amliyanage.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-24T05:31:48.000Z","updated_at":"2025-01-09T06:55:19.000Z","dependencies_parsed_at":"2024-08-28T08:26:19.087Z","dependency_job_id":"461a0213-d678-41f5-9104-53195a1c94a5","html_url":"https://github.com/amliyanage/Project-TuneTap","commit_stats":{"total_commits":13,"total_committers":2,"mean_commits":6.5,"dds":"0.23076923076923073","last_synced_commit":"b22a355749e9b4e6ad00fc9db4192d8367fd29ff"},"previous_names":["amliyanage/project-tunetap"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amliyanage%2FProject-TuneTap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amliyanage%2FProject-TuneTap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amliyanage%2FProject-TuneTap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amliyanage%2FProject-TuneTap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amliyanage","download_url":"https://codeload.github.com/amliyanage/Project-TuneTap/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238310385,"owners_count":19450849,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["express","http-server","nodejs","rest-api","video-streaming","ytdl-core"],"created_at":"2024-09-24T13:42:51.064Z","updated_at":"2025-10-26T10:31:37.519Z","avatar_url":"https://github.com/amliyanage.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Project-TuneTap ( YouTube Video Downloader )\n\nThis project allows users to search for YouTube videos and download them. The backend server handles video information and format options, while the frontend, built with React and Vite, provides a modern interface for interacting with the service.\n\n## Project Overview\n\n### Screenshot\n\n![Screenshot](src/assets/SS/Screenshot%202024-08-27%20192404.png)\n\n### Backend\n\nThe backend server is developed using Node.js and Express, utilizing `ytdl-core` to fetch video details from YouTube.\n\n- **Repository**: [MP4-MP3-Download-Server](https://github.com/amliyanage/MP4-MP3-Download-Server-.git)\n- **Endpoint**: `/video-options/:videoId`\n- **Method**: GET\n- **Parameters**:\n    - `videoId` - The ID of the YouTube video.\n\n### Frontend\n\nThe frontend is developed with React and Vite, offering a fast and responsive user interface for searching and downloading YouTube videos.\n\n- **Repository**: [Video_Downloader](https://github.com/amliyanage/Project-TuneTap.git)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js (version 14 or higher)\n- npm (Node Package Manager)\n\n### Setup\n\n#### Backend\n\n1. Clone the backend repository:\n\n    ```bash\n    git clone https://github.com/amliyanage/MP4-MP3-Download-Server-.git\n    cd MP4-MP3-Download-Server-\n    ```\n\n2. Install dependencies:\n\n    ```bash\n    npm install\n    ```\n\n3. Start the server:\n\n    ```bash\n    npm start\n    ```\n\n   The server will run on [http://localhost:3001](http://localhost:3001).\n\n#### Frontend\n\n1. Clone the frontend repository:\n\n    ```bash\n    git clone https://github.com/amliyanage/Video_Downloader.git\n    cd Video_Downloader\n    ```\n\n2. Install dependencies:\n\n    ```bash\n    npm install\n    ```\n\n3. Start the development server:\n\n    ```bash\n    npm run dev\n    ```\n\n   The frontend will be accessible at [http://localhost:3000](http://localhost:3000).\n\n## Usage\n\n1. Open the frontend in your browser.\n2. Search for a YouTube video by its subject or URL.\n3. Select a video from the search results.\n4. Choose the desired format from the available options.\n5. Click the download button to start the download.\n\n## API Reference\n\n### GET /video-options/:videoId\n\nFetches available formats and details for a given YouTube video ID.\n\n- **Parameters**:\n    - `videoId` (string): The ID of the YouTube video.\n\n- **Response**:\n    - `formats` (array): List of available video formats.\n    - `bestQuality` (object): Information about the best quality format (e.g., 1440p).\n\n## Editing the Code\n\n### Backend\n\n1. **Add New Features**: Modify the routes and controllers in the `server` directory to add new features or endpoints.\n2. **Update Dependencies**: If you need to update or add new dependencies, edit the `package.json` file and run `npm install`.\n\n### Frontend\n\n1. **Modify UI Components**: Update the React components in the `src` directory to change the UI or add new features.\n2. **Update API Calls**: Edit the API call logic in the service files if you need to adjust how the frontend communicates with the backend.\n\n### Testing\n\n1. **Backend**: Add or modify unit tests in the `test` directory using your preferred testing framework.\n2. **Frontend**: Use testing libraries like Jest or React Testing Library to add or modify tests for your components.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Contributing\n\nFeel free to open issues or submit pull requests if you have any improvements or suggestions. Please make sure to follow the contributing guidelines if you have any.\n\n## Contact\n\nIf you have any questions, please reach out to ashenmliyanage@gmail.com.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famliyanage%2Fproject-tunetap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famliyanage%2Fproject-tunetap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famliyanage%2Fproject-tunetap/lists"}