Skip to content

Swanand01/streaminal

Repository files navigation

Streaminal

A modern streaming platform built with Next.js that aggregates content from The Movie Database (TMDB) and multiple video sources.

Screenshots

Home

Home

Movies

Movies

TV Show

TV Show

Getting Started

Prerequisites

Installation

npm install

Environment Variables

Create a .env file:

NEXT_PUBLIC_TMDB_API_KEY=your_tmdb_api_key
NEXT_PUBLIC_BASE_URL=http://localhost:3000
NEXT_PUBLIC_SPORTS_API_URL=your_sports_api_url

Run Development Server

npm run dev

Open http://localhost:3000

Build for Production

npm run build
npm start

Configuration

Video Sources

Edit config/sources.json to update streaming sources when URLs change:

{
  "movie": [{ "name": "Server 1", "url": "https://..." }],
  "tv": [{ "name": "Server 1", "url": "https://..." }]
}

Use {id}, {season}, {episode} placeholders in URLs.

Project Structure

app/                    # Next.js pages (App Router)
  ├── movies/          # Movie browse & detail pages
  ├── tv-shows/        # TV show browse & detail pages
  ├── search/          # Search results
  ├── sports/          # Live sports matches & streams
  └── people/          # Actor/crew profiles

components/            # React components
  ├── ui/             # shadcn components
  ├── media/          # Media cards & carousels
  └── ...

lib/                   # Utilities & API client
  ├── tmdb.ts         # TMDB API functions
  ├── sports.ts       # Sports API functions
  └── utils.ts        # Helpers

config/                # Configuration files
  └── sources.json    # Video source URLs

Tech Stack

  • Next.js 16 (App Router)
  • TanStack React Query for data fetching
  • shadcn/ui components
  • TMDB API for movie/TV metadata
  • Sports API for live match data and streams

License

MIT

About

Watch movies, TV shows and live sports for free

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors