Skip to content

A modern streaming platform built with Nuxt 3 and Nuxt Content.

License

Notifications You must be signed in to change notification settings

florianjs/iptv-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

IPTV Stream Platform

A modern streaming platform built with Nuxt 3 and Nuxt Content, featuring a beautiful UI, video playback capabilities, and a content management system. This platform provides an immersive viewing experience with features like video categorization, search functionality, and a responsive design.

MIT License Nuxt 3 Vue.js Tailwind CSS

πŸ’ Support My Work

NuxtMint

This template and many others are available at NuxtMint.com

Discord

Join our friendly Discord community to get help, share your ideas, and connect with other developers!

✨ Showcase

IPTV Template Preview

▢️ Watch Full Video Preview

A beautiful and modern streaming platform template with:

  • 🎬 Stunning video player interface with Plyr
  • 🎨 Clean and responsive design using Tailwind CSS
  • πŸ“± Mobile-first approach with smooth animations
  • ⚑️ Lightning-fast performance with Nuxt 3
  • πŸ”₯ Built with the latest web technologies

View Demo Β· Report Bug Β· Request Feature

✨ Features

  • πŸŽ₯ Video streaming with Plyr player integration
  • πŸ“ Content management with Nuxt Content
  • 🎨 Modern and responsive UI with Tailwind CSS
  • πŸ“± Mobile-first design approach
  • πŸ” Content search and filtering
  • πŸ“‚ JSON-based content management
  • 🌈 Beautiful animations and transitions
  • 🎬 Video thumbnails and metadata support
  • 🏷️ Category and tag-based organization

πŸš€ Quick Start

Prerequisites

  • Node.js 16.x or later
  • npm, yarn, or pnpm package manager
  • OMDB API key (free) for movie posters and metadata in the Hero section

Installation

  1. Clone the repository:
git clone https://github.com/florianjs/iptv-template
cd fiverr-iptv
  1. Install dependencies:
# Using npm
npm install

# Using yarn
yarn install

# Using pnpm
pnpm install
  1. Set up environment variables:
cp .env.example .env
  1. Start the development server:
# Using pnpm (recomended)
pnpm dev

# Using npm
npm run dev

# Using yarn
yarn dev

The application will be available at http://localhost:3000

πŸ“ Project Structure

fiverr-iptv/
β”œβ”€β”€ components/        # Vue components
β”œβ”€β”€ content/
β”‚   └── medias/       # JSON content files for media items
β”œβ”€β”€ pages/            # Application pages and routes
β”œβ”€β”€ public/           # Static files
β”œβ”€β”€ stores/           # Pinia stores
β”œβ”€β”€ app.vue           # Main application file
└── nuxt.config.ts    # Nuxt configuration

πŸ’» Development

Content Management with Nuxt Content

This project uses Nuxt Content for managing media content. All media items are stored as JSON files in the content/medias/ directory, making it easy to:

  • Query content using the built-in API
  • Leverage powerful search capabilities
  • Use Git-based content management
  • Benefit from automatic TypeScript types

Adding New Content

Add new media items by creating JSON files in the content/medias/ directory. Each file should follow this structure:

{
  "title": "Movie Title",
  "mediaUrl": "https://example.com/video.mp4",
  "mediaThumbnail": "https://example.com/thumbnail.jpg",
  "mediaType": "video/mp4",
  "tags": ["Category1", "Category2"],
  "description": "Movie description",
  "quality": "4K",
  "duration": "2:30:00",
  "ageRating": "PG-13",
  "genres": ["Action", "Drama"],
  "actors": ["Actor 1", "Actor 2"]
}

Building for Production

Build the application for production:

# Using npm
npm run build

# Using yarn
yarn build

# Using pnpm
pnpm build

Preview the production build:

# Using npm
npm run preview

# Using yarn
yarn preview

# Using pnpm
pnpm preview

πŸš€ Deployment

Recommended: Cloudflare Pages

This project is optimized for deployment on Cloudflare Pages, which provides:

  • Global CDN distribution
  • Automatic HTTPS
  • Zero cold starts
  • Easy deployment process

Follow the Nuxt Content deployment guide for Cloudflare for detailed instructions.

Basic deployment steps:

  1. Connect your repository to Cloudflare Pages
  2. Set build command: pnpm run build
  3. Set build output directory: .output/public
  4. Add environment variables:
    • OMDB_API_KEY=your_api_key
  5. Add a D1 SQL Database from Cloudflare
  6. Bind your database to your Cloudflare Page

πŸ”§ Configuration

Environment Variables

The following environment variables are required:

# OMDB API key for movie posters and metadata (required)
OMDB_API_KEY=your_api_key_here

To get started:

  1. Sign up for a free OMDB API key at https://www.omdbapi.com/apikey.aspx
  2. Copy .env.example to .env
  3. Replace your_api_key_here with your actual OMDB API key

Nuxt Configuration

The application can be configured through the nuxt.config.ts file. Key configurations include:

  • Content module settings
  • Tailwind CSS configuration
  • Plyr player options
  • Route handling

πŸ“± Mobile Support

The application is fully responsive and optimized for mobile devices. Features include:

  • Adaptive layouts
  • Touch-friendly controls
  • Optimized animations
  • Mobile-specific UI enhancements

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

About

A modern streaming platform built with Nuxt 3 and Nuxt Content.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published