{"id":16139978,"url":"https://github.com/ladunjexa-pbl/reactjs18-streamlix","last_synced_at":"2025-03-18T16:31:20.809Z","repository":{"id":151751325,"uuid":"586758701","full_name":"ladunjexa-pbl/reactjs18-streamlix","owner":"ladunjexa-pbl","description":"Streamlix App consisting of stunning video sections, custom categories and much more - using React \u0026 MUI-5 powered by RapidAPI ⚛","archived":false,"fork":false,"pushed_at":"2024-05-13T18:28:27.000Z","size":1842,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-28T10:52:34.160Z","etag":null,"topics":["material-ui","mui5","nodejs","rapidapi","react","video-streaming","webapp"],"latest_commit_sha":null,"homepage":"https://reactjs18-streamlix.vercel.app/","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/ladunjexa-pbl.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":"2023-01-09T06:48:01.000Z","updated_at":"2025-01-13T22:13:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"c1d9cba2-62f4-4ab4-a304-832460592833","html_url":"https://github.com/ladunjexa-pbl/reactjs18-streamlix","commit_stats":null,"previous_names":["ladunjexa/reactjs18-streamlix","ladunjexa-pbl/reactjs18-streamlix"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ladunjexa-pbl%2Freactjs18-streamlix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ladunjexa-pbl%2Freactjs18-streamlix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ladunjexa-pbl%2Freactjs18-streamlix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ladunjexa-pbl%2Freactjs18-streamlix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ladunjexa-pbl","download_url":"https://codeload.github.com/ladunjexa-pbl/reactjs18-streamlix/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243940108,"owners_count":20372045,"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":["material-ui","mui5","nodejs","rapidapi","react","video-streaming","webapp"],"created_at":"2024-10-09T23:50:21.104Z","updated_at":"2025-03-18T16:31:19.738Z","avatar_url":"https://github.com/ladunjexa-pbl.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\u003cdiv align=\"center\"\u003e\n\n  ![Project Banner](readme_assets/readme_banner.png#gh-dark-mode-only)\n  ![Project Banner](readme_assets/readme_banner-light.png#gh-light-mode-only)\n\n  \u003ch1\u003eStreamlix\u003c/h1\u003e\n  \n  \u003cp\u003e\n    Streamlix is a \u003cb\u003eVideo Streaming App\u003c/b\u003e that makes it easy to watch online videos, with beautiful UI using the Material UI\n  \u003c/p\u003e\n  \n\u003c!-- Badges --\u003e\n\u003cp\u003e\n  \u003ca href=\"https://github.com/ladunjexa/Streamlix-App/graphs/contributors\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/contributors/ladunjexa/Streamlix-App\" alt=\"contributors\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/last-commit/ladunjexa/Streamlix-App\" alt=\"last update\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ladunjexa/Streamlix-App/network/members\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/forks/ladunjexa/Streamlix-App\" alt=\"forks\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ladunjexa/Streamlix-App/stargazers\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/ladunjexa/Streamlix-App\" alt=\"stars\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ladunjexa/Streamlix-App/issues/\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/issues/ladunjexa/Streamlix-App\" alt=\"open issues\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ladunjexa/Streamlix-App/blob/master/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/ladunjexa/Streamlix-App.svg\" alt=\"license\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n   \n \u003ch4\u003e\n    \u003ca href=\"https://streamlix-app.vercel.app/\"\u003eView Demo\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://github.com/ladunjexa/Streamlix-App\"\u003eDocumentation\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://github.com/ladunjexa/Streamlix-App/issues/\"\u003eReport Bug\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://github.com/ladunjexa/Streamlix-App/issues/\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/h4\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003c!-- Table of Contents --\u003e\n\u003cdetails\u003e\n\n\u003csummary\u003e\n\n# :notebook_with_decorative_cover: Table of Contents\n\n\u003c/summary\u003e\n\n- [About the Project](#star2-about-the-project)\n  * [Folder Structure](#bangbang-folder-structure)\n  * [Environment Variables](#key-environment-variables)\n  * [Tech Stack](#space_invader-tech-stack)\n- [Getting Started](#toolbox-getting-started)\n  * [Installation](#gear-installation)\n  * [Run Locally](#running-run-locally)\n- [Contributing](#wave-contributing)\n- [License](#warning-license)\n- [Contact](#handshake-contact)\n- [Acknowledgements](#gem-acknowledgements)\n\n\u003c/details\u003e  \n\n\u003c!-- About the Project --\u003e\n## :star2: About the Project\n\n\u003cdiv align=\"center\"\u003e \n  \u003cimg src=\"readme_assets/Streamlix-mockup.png\" height=\"auto\" width=\"100%\"/\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\nStreamlix is a Video Streaming App consisting of stunning video sections, custom categories, channel pages, play videos, and much more - based on [YouTube v3](https://rapidapi.com/ytdlfree/api/youtube-v31/) API powered by [RapidAPI](https://rapidapi.com).\n\n\u003c!-- Folder Structure --\u003e\n### :bangbang: Folder Structure\n\nHere is the folder structure of Streamlix.\n```\nStreamlix-App/\n|- public/\n|- src/\n  |-- components/\n  |-- utils/\n```\n\nNow, lets dive into the public and src folders.\n\n### public\n\n`index.html` - `manifest.json`\n\nThe public folder contains the HTML file so you can tweak it, for example, to set the page title. The \u003cscript\u003e tag with the compiled code will be added to it automatically during the build process.\n\n### src\n\n#### components\n\n`ChannelCard.jsx` - `ChannelDetail.jsx` - `Feed.jsx` - `index.js` - `Loader.jsx` - `Navbar.jsx` - `SearchBar.jsx` - `SearchFeed.jsx` - `Sidebar.jsx` - `VideoCard.jsx` - `VideoDetail.jsx` - `Videos.jsx`\n\nThis folder houses all the components listed above which they are custom components (widgets) with beautiful customized theme using Material UI 5, which split the UI into independent and reusable pieces.\n\n\n#### utils\n\n`constants.js` - All the web application level constants. Specifically, this constants.js file contains mui-icons, categories and etc.\n\n`fetchFromAPI.js` -  Fetching data from YouTube v3 API powered by RapidAPI using environment variables for API key.\n\n\u003cbr /\u003e\n\n\u003c!-- ENV VARIABLES --\u003e\n### :key: Environment Variables\n\nIn order to use Streamlix you have to create your [YouTube v3](https://rapidapi.com/ytdlfree/api/youtube-v31/) api key powered by RapidAPI [here](https://rapidapi.com), to run this web app, you will need to add the following environment variable to your .env file\n\n`REACT_APP_RAPID_API_KEY`\n\n\u003c!-- TechStack --\u003e\n### :space_invader: Tech Stack\n![NodeJS](https://img.shields.io/badge/node.js-6DA55F?style=for-the-badge\u0026logo=node.js\u0026logoColor=white)\n![React 18](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge\u0026logo=react\u0026logoColor=%2361DAFB)\n![MUI](https://img.shields.io/badge/MUI-%230081CB.svg?style=for-the-badge\u0026logo=mui\u0026logoColor=white)\n[\u003cimg src=\"https://user-images.githubusercontent.com/71302066/174567516-824b1967-5954-4ac7-9446-14a3b2ab825d.svg\" alt=\"Rapid API\" width=\"100.75\" height=\"28\"\u003e](https://rapidapi.com/)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- Getting Started --\u003e\n## \t:toolbox: Getting Started\n\n\u003c!-- Installation --\u003e\n### :gear: Installation\n\n#### Step 1:\nDownload or clone this repo by using the link below:\n\n```bash\n https://github.com/ladunjexa/Streamlix-App\n```\n\n#### Step 2:\n\nExplorium using NPM (Node Package Manager), therefore, make sure that Node.js is installed by execute the following command in console:\n\n```bash\n  node -v\n```\n\n#### Step 3:\n\nAt the main folder execute the following command in console to get the required dependencies:\n\n```bash\n  npm install\n```\n\n#### Step 4:\n\nWithin the main folder create a file named `.env` and add the following [environment variable](#key-environment-variables):\n\n\n```bash\n  REACT_APP_RAPID_API_KEY=\u003cYOU_API_KEY\u003e\n```\n\n\n\u003c!-- Run Locally --\u003e\n### :running: Run Locally\n\n#### Step 1:\n\nAt the main folder execute the following command in console to get the required dependencies:\n\n```bash\n  npm start\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- Contributing --\u003e\n## :wave: Contributing\n\n\u003ca href=\"https://github.com/ladunjexa/Streamlix-App/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=ladunjexa/Streamlix-App\" /\u003e\n\u003c/a\u003e\n\n\nContributions are always welcome!\n\nSee [`contributing.md`](https://contributing.md/) for ways to get started.\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- License --\u003e\n## :warning: License\n\nDistributed under the MIT License. See [LICENSE.txt](https://github.com/ladunjexa/Streamlix-App/blob/main/LICENSE) for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- Contact --\u003e\n## :handshake: Contact\n\nLiron Abutbul - [@lironabutbul6](https://twitter.com/lironabutbul6) - [@ladunjexa](https://t.me/ladunjexa)\n\nProject Link: [https://github.com/ladunjexa/Streamlix-App](https://github.com/ladunjexa/Streamlix-App)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- Acknowledgments --\u003e\n## :gem: Acknowledgements\n\nThis section used to mention useful resources and libraries that used in Streamlix\n\n - [RapidAPI](https://rapidapi.com/)\n - [MaterialUI](https://mui.com/)\n - #JSMastery\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fladunjexa-pbl%2Freactjs18-streamlix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fladunjexa-pbl%2Freactjs18-streamlix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fladunjexa-pbl%2Freactjs18-streamlix/lists"}