Katana is a responsive front-end that emulates Netflix's style. The goal of this project is to provide a backend-agnostic front-end for movie & TV discovery & streaming.
More specifically, no matter where your movies are hosted (Google Drive, P2P stream, satellite, etc.) so long as your backend follows the API conventions herein laid out, you can plug-and-play this front-end into your service.
Note that this project is under heavy development, with all interfaces subject to change at any time.
- Responsive and visually appealing interface
- Highly adaptable and extensible
- Source components are modularized
- Everything runs client-side, only API being called to is TMDB
- Can easily deploy to Heroku
- Stable back-end API specification (in progress)
- Example back-end framework in Python (mostly done)
- Source retrieval and rendering from back-end (done!)
- Chromecast and Airplay support
To build: npm run build
To start: npm run start
Live-reloading is automatically enabled (can be changed in webpack config). React developer tools for Chrome come highly recommended.
Note: You will likely need to disable Firebase Authentication to run locally (or you can modify it to your own project's Firebase config). All details are in src/auth-enabled.js
, including the FIREBASE_AUTH_ENABLED
setting.
- React.js
- Webpack
- Babel
- Axios
This project originated as a fork of AndresXI's fantastic project.
Thanks to TheMovieDB's rock-solid API for, even beside their ridiculously comprehensive database, developer-friendly API design, and great CDN's, their CORS support (a highly underrated feature in my opinion!).