{"id":17018232,"url":"https://github.com/zlatnaspirala/vuletube","last_synced_at":"2025-03-22T16:31:22.092Z","repository":{"id":37989388,"uuid":"274760561","full_name":"zlatnaspirala/vuletube","owner":"zlatnaspirala","description":"Starter project for vue in combination with typescript.  Getting response for youtube search. Call server part for saving videos. Use videos in three.js 3d port view. Control vuletube site with hands (NUI) also with voice command.","archived":false,"fork":false,"pushed_at":"2025-03-02T18:06:52.000Z","size":84664,"stargazers_count":12,"open_issues_count":6,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-18T13:45:54.608Z","etag":null,"topics":["downloader","nui","opencv","opencvjs","play-video","threejs","typescript","video-preview","voice-commander","vue","youtube","youtube-api"],"latest_commit_sha":null,"homepage":"https://maximumroulette.com:3000","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zlatnaspirala.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":null},"created_at":"2020-06-24T20:13:20.000Z","updated_at":"2025-03-02T18:06:52.000Z","dependencies_parsed_at":"2025-02-13T01:21:22.028Z","dependency_job_id":"25c0c116-3996-47bd-98b1-71811998db05","html_url":"https://github.com/zlatnaspirala/vuletube","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlatnaspirala%2Fvuletube","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlatnaspirala%2Fvuletube/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlatnaspirala%2Fvuletube/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlatnaspirala%2Fvuletube/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zlatnaspirala","download_url":"https://codeload.github.com/zlatnaspirala/vuletube/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244986568,"owners_count":20543034,"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":["downloader","nui","opencv","opencvjs","play-video","threejs","typescript","video-preview","voice-commander","vue","youtube","youtube-api"],"created_at":"2024-10-14T06:45:05.999Z","updated_at":"2025-03-22T16:31:17.083Z","avatar_url":"https://github.com/zlatnaspirala.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Project name: vue-ts-starter - `vuletube`\n### Creator: Nikola Lukic 2020 - Visual Code editor used\n### Version \"Ecstacy of gold\"\n### https://maximumroulette.com:3000\n\n\n## Clone project command:\n\n```js\n  git clone --recurse-submodules https://github.com/zlatnaspirala/vue-typescript-starter\n```\n\n## Project objective\n\n To create perfect modular fit for any type project.\n  I will integrate next features:\n\n  - Add https://github.com/fent/node-ytdl-core like another options support\n     (on server side) for youtube-dl.\n  - Google client login based on  ApiKey. [DONE]\n  - Test yt video play with YT Player embeded iframe[DONE]\n    also with customhtml5 video tag.[DONE]\n  - Google account login based on node.js server.\n  - Calling Youtube API v3. and preview in classic html tags. [DONE]\n  - Implementing three.js video preview sub component[DONE]\n  - Preview thumbnails with threejs component. [DONE]\n  - BASIC NUI commander and Voice commander [DONE]\n  - NUI hands control yt vieo navigation [WIP]\n  - BASIC openCV for web (opencvjs) implementation [DONE]\n  - Implementing different view modes (OrbitControl, First person control)[DONE]\n  - Implementing custom webGL2 (glmatrix) video preview sub component.\n  - Kure Video Chat (kurento) Mixing yt video with camera stream.\n  - Visual ts game engine - some kind of implementation\n    Adding 2d/3d games intro 3d view.\n  - Implementing AR (commercial)\n  - Google map API - Not free (maybe for 3d vs maps)\n    7$ min cost\n\n\n#### Last main page screenshot:\n![screenshot](https://github.com/zlatnaspirala/vue-typescript-starter/blob/master/vuletube.gif)\n\n\n## Go to project folder\n### [Starter readme more details](https://github.com/zlatnaspirala/vue-typescript-starter/tree/master/vue-ts-starter)\n\n## Credits\n\n![screenshot](https://github.com/zlatnaspirala/vue-typescript-starter/blob/master/vue-ts-starter/public/assets/ytlogolight.png)\n\n## About `Legacy Note`\n\n I use download procedure just like internal techical solution. I put logo \"Developed with youtube\" and make documentation about\n Youtube api usage also i delete downloaded files after some time.\n There is no any redistribution even playing in offline regime or any other usage or reusage.\n Also this has been fixed (YT-DL refuses to download such files `RIAA`) \n I am not promoting any downloading , dis-respectful \u0026 excessive pirating.\n I keep it as friendly usage.\n\n\n![screenshot](https://github.com/zlatnaspirala/vue-typescript-starter/blob/master/vue-ts-starter/public/assets/ytlogo.png)\n\n\nScreenshot webcam example:\n![screenshot](https://github.com/zlatnaspirala/vue-typescript-starter/blob/master/screenshot.0.1.3.png)\n\n\n See `setup-from-zero-point.md` to make clear who this project was created.\n\n### Help links:\n\n [developers.google.com/youtube/v3](https://developers.google.com/youtube/v3/getting-started)\n\n [github.com/google/google-api-javascript-client](https://github.com/google/google-api-javascript-client/blob/master/docs/samples.md)\n\n\n## About programming paradigma methods ##\n\n####  About vue methods in ts variant ####\n\nFor now we need trust this:\n\n[Source https://blog.logrocket.com](https://blog.logrocket.com/how-to-write-a-vue-js-app-completely-in-typescript)\n\n## About three.js implementation ##\n\nI will not use ts variant for three.js.\nReasons on page:\n\nhttps://threejs.org/docs/#manual/en/introduction/Typescript-setup\n\nI will use javascript classic variant but script type module with `import`.\n\nRaport:\nnpm i three -\u003e\n```found 376 vulnerabilities (375 low, 1 high)```\n\n### Features DONE ###\n\n  - YouTube component. Log in , fetch data from youtube APi v3.\n    preview images in list\n  - Added threejs lib / my subComponent and preview video and thumbnails.\n    Play video in webGL context , control video from status bar buttons UI.\n  - nuiCommander implemented also Voice commande.\n\n    Voice commands:\n```js\n     Say 'search' + 'what to search'\n     or\n     Say 'search for' + 'what to search'\n```\n\n### github submodules\n\nUpdate all submodules:\n```js\n  git pull --recurse-submodules\n```\n\n```js\n[submodule \"vue-ts-starter/public/submodules/nui-commander/nui-commander\"]\n  url = https://github.com/zlatnaspirala/nui-commander\n[submodule \"vue-ts-starter/public/submodules/voice-commander/voice-commander\"]\n  url = https://github.com/zlatnaspirala/voice-commander\n[submodule \"vue-ts-starter/public/submodules/opencv-starter\"]\n  url = https://github.com/zlatnaspirala/opencv-starter\n```\n\n### Formating\n\n#### Lints and fixes files (eslint)\n\n```bash\n  npm run lint\n  npm run format\n```\n\n### Documentation\n\n  From experience i want to use typedoc. There is one small problem with vue single file component\n  loading procedure. I try from internet different solution but no one works.\n  Solution =\u003e\n  I will add new pseudo file extension `\u003cnameComp\u003e.docs.ts`.\n  Add to exclude list and define type declaration inside `*.docs.*`\n  They can be active interface/type script or only dev comp.\n\nGenerate docs:\n```\n  npm run docs\n```\n\n [Vuletube API documentation](https://maximumroulette.com/applications/vue-project/vue-typescript-starter/vue-ts-starter/docs/globals.html)\n\n\n## Direct link for dev server\n\n### VueTube web service 2020\n\nhttps://maximumroulette.com:3000\n\nhttps://www.youtube.com/watch?v=-lwkKzFLzk0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzlatnaspirala%2Fvuletube","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzlatnaspirala%2Fvuletube","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzlatnaspirala%2Fvuletube/lists"}