Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ladunjexa/reactjs18-streamlix
Streamlix App consisting of stunning video sections, custom categories and much more - using React & MUI-5 powered by RapidAPI ⚛
https://github.com/ladunjexa/reactjs18-streamlix
material-ui mui5 nodejs rapidapi react video-streaming webapp
Last synced: 10 days ago
JSON representation
Streamlix App consisting of stunning video sections, custom categories and much more - using React & MUI-5 powered by RapidAPI ⚛
- Host: GitHub
- URL: https://github.com/ladunjexa/reactjs18-streamlix
- Owner: ladunjexa
- License: mit
- Created: 2023-01-09T06:48:01.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-13T18:28:27.000Z (6 months ago)
- Last Synced: 2024-05-13T19:44:05.801Z (6 months ago)
- Topics: material-ui, mui5, nodejs, rapidapi, react, video-streaming, webapp
- Language: JavaScript
- Homepage: https://reactjs18-streamlix.vercel.app/
- Size: 1.76 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
![Project Banner](readme_assets/readme_banner.png#gh-dark-mode-only)
![Project Banner](readme_assets/readme_banner-light.png#gh-light-mode-only)
Streamlix
Streamlix is a Video Streaming App that makes it easy to watch online videos, with beautiful UI using the Material UI
View Demo
·
Documentation
·
Report Bug
·
Request Feature
# :notebook_with_decorative_cover: Table of Contents
- [About the Project](#star2-about-the-project)
* [Folder Structure](#bangbang-folder-structure)
* [Environment Variables](#key-environment-variables)
* [Tech Stack](#space_invader-tech-stack)
- [Getting Started](#toolbox-getting-started)
* [Installation](#gear-installation)
* [Run Locally](#running-run-locally)
- [Contributing](#wave-contributing)
- [License](#warning-license)
- [Contact](#handshake-contact)
- [Acknowledgements](#gem-acknowledgements)
## :star2: About the Project
Streamlix 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).
### :bangbang: Folder Structure
Here is the folder structure of Streamlix.
```
Streamlix-App/
|- public/
|- src/
|-- components/
|-- utils/
```Now, lets dive into the public and src folders.
### public
`index.html` - `manifest.json`
The public folder contains the HTML file so you can tweak it, for example, to set the page title. The tag with the compiled code will be added to it automatically during the build process.
### src
#### components
`ChannelCard.jsx` - `ChannelDetail.jsx` - `Feed.jsx` - `index.js` - `Loader.jsx` - `Navbar.jsx` - `SearchBar.jsx` - `SearchFeed.jsx` - `Sidebar.jsx` - `VideoCard.jsx` - `VideoDetail.jsx` - `Videos.jsx`
This 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.
#### utils
`constants.js` - All the web application level constants. Specifically, this constants.js file contains mui-icons, categories and etc.
`fetchFromAPI.js` - Fetching data from YouTube v3 API powered by RapidAPI using environment variables for API key.
<br />
<!-- ENV VARIABLES -->
### :key: Environment VariablesIn 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
`REACT_APP_RAPID_API_KEY`
<!-- TechStack -->
### :space_invader: Tech Stack
![NodeJS](https://img.shields.io/badge/node.js-6DA55F?style=for-the-badge&logo=node.js&logoColor=white)
![React 18](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge&logo=react&logoColor=%2361DAFB)
![MUI](https://img.shields.io/badge/MUI-%230081CB.svg?style=for-the-badge&logo=mui&logoColor=white)
[<img src="https://user-images.githubusercontent.com/71302066/174567516-824b1967-5954-4ac7-9446-14a3b2ab825d.svg" alt="Rapid API" width="100.75" height="28">](https://rapidapi.com/)<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- Getting Started -->
## :toolbox: Getting Started<!-- Installation -->
### :gear: Installation#### Step 1:
Download or clone this repo by using the link below:```bash
https://github.com/ladunjexa/Streamlix-App
```#### Step 2:
Explorium using NPM (Node Package Manager), therefore, make sure that Node.js is installed by execute the following command in console:
```bash
node -v
```#### Step 3:
At the main folder execute the following command in console to get the required dependencies:
```bash
npm install
```#### Step 4:
Within the main folder create a file named `.env` and add the following [environment variable](#key-environment-variables):
```bash
REACT_APP_RAPID_API_KEY=<YOU_API_KEY>
```<!-- Run Locally -->
### :running: Run Locally#### Step 1:
At the main folder execute the following command in console to get the required dependencies:
```bash
npm start
```<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- Contributing -->
## :wave: Contributing<a href="https://github.com/ladunjexa/Streamlix-App/graphs/contributors">
<img src="https://contrib.rocks/image?repo=ladunjexa/Streamlix-App" />
</a>Contributions are always welcome!
See [`contributing.md`](https://contributing.md/) for ways to get started.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
If 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".
Don't forget to give the project a star! Thanks again!1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- License -->
## :warning: LicenseDistributed under the MIT License. See [LICENSE.txt](https://github.com/ladunjexa/Streamlix-App/blob/main/LICENSE) for more information.
<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- Contact -->
## :handshake: ContactLiron Abutbul - [@lironabutbul6](https://twitter.com/lironabutbul6) - [@ladunjexa](https://t.me/ladunjexa)
Project Link: [https://github.com/ladunjexa/Streamlix-App](https://github.com/ladunjexa/Streamlix-App)
<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- Acknowledgments -->
## :gem: AcknowledgementsThis section used to mention useful resources and libraries that used in Streamlix
- [RapidAPI](https://rapidapi.com/)
- [MaterialUI](https://mui.com/)
- #JSMastery<p align="right">(<a href="#readme-top">back to top</a>)</p>