Skip to content

Repository files navigation

K

A modern streaming website built with vanilla JavaScript and Express.

License Node Vercel

K - Homepage

Stars

If you find this project useful, consider giving it a star — it helps others discover it and keeps the project going.


A full-featured streaming UI powered by TMDB metadata and VidKing embed player, with an Android TV app — built as a learning project.


Tech Stack

JavaScript Express Vercel HTML5 CSS3 Android


Features

Feature Description
TMDB Integration Movie & TV metadata, search, genres, trending content
VidKing Player Streaming playback via embed URLs
Responsive UI Hero carousel, content rows, search, detail pages, my list
TV-Optimized Keyboard/gamepad navigation, immersive fullscreen
Android TV App WebView wrapper with landscape lock, back-button handling
Rate Limiting Per-IP sliding window (150 req/min) with in-memory cache
One-Click Deploy Vercel-ready with GitHub Actions for APK builds

Project Structure

K/
├── public/              # Static frontend
│   ├── index.html       # App shell
│   ├── css/             # Modular stylesheets
│   ├── js/              # Vanilla JS modules
│   ├── images/          # Assets
│   └── apk/             # Built Android APK
├── api/                 # TMDB proxy (Vercel serverless)
├── tv-app/              # Android TV WebView app
│   └── app/             # Android source (Gradle)
├── server.js            # Express server
├── config.js            # Runtime config
├── vercel.json          # Vercel deployment
└── package.json

Getting Started

Prerequisites

Installation

git clone https://github.com/vextalor-dev/K.git
cd K
npm install

Configuration

Create a config.js file in the root:

module.exports = {
  TMDB_API_KEY: 'your_tmdb_api_key_here',
  PORT: 3000
};

Run

npm start
# → http://localhost:3000

Deployment

Vercel (Recommended)

  1. Push to GitHub
  2. Import repo in Vercel
  3. Add TMDB_API_KEY in Settings → Environment Variables
  4. Deploy — vercel.json handles everything

Other Platforms

Works on any Node.js host (Railway, Render, Fly.io, VPS). Just set TMDB_API_KEY and run npm start.


Android TV App

The tv-app/ directory contains a WebView wrapper:

  • Loads the hosted site in fullscreen
  • Landscape lock + immersive mode
  • Back-button navigation
  • HTML5 video fullscreen support
  • Auto-built via GitHub Actions

See tv-app/README.md for build & signing instructions.


Disclaimer

This project is strictly for educational and personal learning purposes.

  • I do not promote, endorse, or facilitate any form of copyright infringement, piracy, or unauthorized streaming.
  • This is a proof-of-concept demonstrating full-stack web development, API integration, and Android TV development.
  • The codebase does not host, store, or distribute any copyrighted content. All streaming is handled by third-party embed providers (VidKing) over which this project has no control.
  • You are solely responsible for how you deploy and use this code.
  • Provided "AS IS" under AGPL-3.0. No warranty of any kind.

By using this project, you agree to these terms.


License

This project is licensed under the GNU Affero General Public License v3.0 — see the LICENSE file for details.