Skip to content

saadrahmans/cinehub

Repository files navigation

CineHub 🎬

CineHub is a movie and TV show discovery web application built as part of an internship assignment.
It allows users to browse, search, sort, and filter movies and TV shows using real-world data from the TMDB API.


🚀 Features

Movies

  • Browse popular movies
  • Search movies by title
  • Filter movies by genre
  • Sort by rating and release date
  • Movie detail pages with cast and overview

TV Shows

  • Browse trending and popular TV shows
  • View top-rated TV shows
  • Search TV shows
  • Filter by genre
  • TV show detail pages

UI & UX

  • Modern dark-themed interface
  • Responsive design
  • Animated hover effects on movie and TV cards
  • Clean navigation with App Router

🛠 Tech Stack

  • Next.js 16 (App Router)
  • TypeScript
  • Tailwind CSS
  • TMDB API
  • Vercel-ready deployment

📂 Project Structure

app/ ├─ page.tsx # Home page ├─ movies/ # Movies routes ├─ tv/ # TV shows routes components/ ├─ Navbar.tsx ├─ HomeCarousel.tsx lib/ ├─ tmdb.ts # TMDB API helper functions



⚙️ Setup Instructions (IMPORTANT)

Follow these steps in order:

1️⃣ Clone the repository

git clone <your-repository-url>
cd cinehub

2️⃣ Install dependencies

npm install

3️⃣ Create environment file

TMDB_API_KEY=your_tmdb_api_key_here
---

4️⃣ Run the development server

npm run dev

5️⃣ Open the app

Open your browser and go to: http://localhost:3000


📊 Dataset Used

  • Dataset: Movies and TV Shows metadata
  • Source: The Movie Database (TMDB)
  • URL: https://www.themoviedb.org/
  • Data includes: title, genre, rating, release date, posters, and cast

🔍 Data Collection Method

Data was fetched using the official TMDB REST API.
No scraping was performed. All data is retrieved dynamically at runtime using secure API requests.


🎨 Design Inspiration

  • Netflix & IMDb-style content layout
  • Card-based UI for discoverability
  • Focus on clean typography and dark theme for readability

🤖 AI Prompt Examples Used

  1. “Design a clean movie discovery UI using Next.js and Tailwind CSS”
  2. “Create a reusable TMDB API helper with error handling in TypeScript”
  3. “Improve UX with hover animations for media cards”

🚀 Future Improvements (With 2 More Days)

  • Add user authentication and watchlists
  • Improve homepage carousel animations
  • Add pagination or infinite scrolling
  • Performance optimizations and caching improvements

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors