https://github.com/ihebbelhadj/playpex
A media streaming app built with electron , angular and expressJs
https://github.com/ihebbelhadj/playpex
desktop-app expressjs netflix-clone node streamer torrent
Last synced: 3 months ago
JSON representation
A media streaming app built with electron , angular and expressJs
- Host: GitHub
- URL: https://github.com/ihebbelhadj/playpex
- Owner: IhebBelhadj
- License: other
- Created: 2022-09-05T21:21:58.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-09-01T15:27:38.000Z (almost 2 years ago)
- Last Synced: 2025-10-23T19:43:31.275Z (8 months ago)
- Topics: desktop-app, expressjs, netflix-clone, node, streamer, torrent
- Language: TypeScript
- Homepage:
- Size: 2.95 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
#
Playpex
Playpex is a media streaming platform with a 10-foot user interface with spacial navigation
> Watch this Youtube video for [Playpex App Promo](https://www.youtube.com/watch?v=mj4EjDdVXTo)
## How it works under the hood
Playpex uses a local server initiated by the electron runtime on application bootstrap to take care of streaming torrents
>Disclaimer :
This app is done for educational purposes and not intended for commercial use as it is illegal to stream pirated movies and shows
### How streaming works ?
The Streaming part works using **media source extentions (MSE)** and :
1. Appending a request listeners on the server for byte range requests
2. Sending an event to the torrent streamer to prioritize that byte range
3. Set the response headers and wait for data
4. Pump the stream of downloaded data to the client that way you download the content from the Torrent Streamer and pump the downloaded content back to the client at the same time
### The server part
You can check the [playpex server repo](https://github.com/IhebBelhadj/Playpex-backend) if you are intrested in the server implementation of playpex which provides a **Ready to use API for streaming torrents**
### The client side
The client side is built with **angular v14**
The inerface works with spacial navigation(Navigation with keyboad) to simulate the TV app experience and in the next update i'm working on adding a remote app to download on your phone
## State management solution
Playpex uses services and behavior subjects to manage state including
* focused element
* fetched movies for each categorie
* last selected movie from each category and more
This ensures a smooth navigation between routes
### How to use Playpex
You can build the app from scratch after cloning the app or download the compressed version ready to use [here](https://mega.nz/file/V80xwTyJ#VrSX1fnlIuXL0ghFYE65Qyi-Y1RqOIt-2Vaf2ysohgE)
## Future updates
* Adding remote controller app for mobile devices (cross platform using ionic )
* Using RXJS for managing state
* Recreating module structure and implementing lazy loading to get a better app performance
* Adding account logging and saving movies to watch later and track watched movies
* Add Tv shows section and account management section