TVOnline is a portfolio-ready IPTV web application built with Next.js. It focuses on browsing public channel metadata, filtering large channel lists, and playing compatible streams directly in the browser with a clean modern UI.
This repository currently ships one main app:
iptv-super-website/- the Next.js frontend
The project consumes public IPTV metadata from the iptv-org dataset and turns it into a browser experience with filtering, search, and in-page playback.
- modern web UI for browsing IPTV channels
- filtering by country, category, and language
- quick search across channel names
- in-browser playback flow for available streams
- server-side data preparation with TypeScript
- portfolio-friendly structure with dedicated app and docs
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS 4
- ESLint 9
- HLS.js
TVOnline/
├── .github/workflows/ # GitHub Actions CI
├── docs/
│ └── QUICKSTART.md # copy-pasteable local setup
├── iptv-super-website/ # main Next.js application
│ ├── src/app/
│ ├── src/components/
│ ├── src/lib/
│ └── package.json
└── README.md
git clone https://github.com/IndraLawliet13/TVOnline.git
cd TVOnline/iptv-super-website
npm install
npm run devOpen http://localhost:3000 in your browser.
For a slightly more guided setup flow, see docs/QUICKSTART.md.
iptv-super-website/src/app/page.tsx- homepage and main app compositioniptv-super-website/src/components/ChannelGrid.tsx- channel browsing and filtering UIiptv-super-website/src/components/StreamPlayer.tsx- stream playback wrapperiptv-super-website/src/lib/data.ts- IPTV data fetching and enrichment layer.github/workflows/nextjs-ci.yml- build and lint validation on GitHub Actions
The app currently fetches public channel, stream, logo, country, language, and category data from:
https://iptv-org.github.io/api
This repository is focused on the frontend application layer. Runtime data quality, stream availability, and channel legality vary by upstream source and region.
This public repository is intentionally scoped to source code and project documentation only.
It does not include:
- private deployment configs
- production logs
- browser/session state
- secrets or environment-specific credentials
- stream availability depends on external upstream sources
- some channels may be geo-restricted or unavailable at playback time
- no screenshot/demo asset is included yet in this repo
- no deployment config is documented yet
The repository now has a baseline release/tag flow for portfolio presentation.
- release notes live on GitHub Releases
- repository-level changes are summarized in
CHANGELOG.md - release discipline notes live in
docs/RELEASES.md
This repository now includes an explicit no-license notice in LICENSE.md.
That improves clarity without guessing a legal open-source license. Unless the owner later publishes a different license, reuse rights are not granted by default.
The repository is intended to use the standard main default branch for cleaner presentation, while older branch references may still exist temporarily for compatibility.