Skip to content

A movie discovery web app that lets users browse trending or popular films, search for specific titles, watch dedicated trailers, and save favorites to an in-built watchlist. Designed for exploring new movies, it combines browsing, searching, and personal watchlist management in one convenient, interactive platform.

Notifications You must be signed in to change notification settings

Jimztech/movie-database-web-app

Repository files navigation

🎬 Movie Web App

A modern, responsive movie discovery web application that lets users explore trending and upcoming movies, watch trailers, and manage their personal watchlist.

✨ Features

  • 🔍 Search Movies - Find any movie using the powerful TMDB search functionality
  • 📊 Trending & Upcoming - Browse currently trending and upcoming movies
  • 🎥 Watch Trailers - Stream movie trailers directly through YouTube integration
  • 📝 Watchlist - Bookmark movies and manage your personal watchlist
  • 📱 Responsive Design - Optimized for desktop, tablet, and mobile devices
  • 🌙 Modern UI - Clean, intuitive interface with darkmode and lightmode

🛠️ Tech Stack

  • Frontend Framework: Vanilla JavaScript
  • Build Tool: Vite
  • Styling: Tailwind CSS + Flowbite Components
  • APIs:
    • The Movie Database (TMDB) API
    • YouTube Data API
  • Design: Custom design with Figma inspiration

🚀 Getting Started

Screenshot

Prerequisites

Installation

  1. Clone the repository

    git clone[ https://github.com/yourusername/movie-web-app.git](https://github.com/Jimztech/movie-database-web-app.git)
    cd movie-web-app
  2. Install dependencies

    npm install
  3. Set up environment variables

    cp .env.example .env

    Edit .env and add your API keys:

    VITE_MOVIE_API_KEY=your_tmdb_api_key_here
    VITE_YOUTUBE_API_KEY=your_youtube_api_key_here
  4. Start the development server

    npm run dev
  5. Open your browser and navigate to http://localhost:5173

Build for Production

npm run build

The built files will be in the dist directory.

🎯 Usage

  1. Browse Movies: Explore trending and upcoming movies on the homepage
  2. Search: Use the search bar to find specific movies
  3. Watch Trailers: Click on any movie to view details and watch trailers
  4. Add to Watchlist: Bookmark movies you want to watch later
  5. Manage Watchlist: View and organize your saved movies

🔧 Configuration

Environment Variables

Variable Description Required
VITE_MOVIE_API_KEY TMDB API key for fetching movie data

API Endpoints

The app uses the following TMDB API endpoints:

  • /movie/popular - Popular movies
  • /movie/upcoming - Upcoming movies
  • /trending/movie/week - Weekly trending movies
  • /search/movie - Movie search
  • /movie/{id} - Movie details
  • /movie/{id}/videos - Movie trailers

🎨 Design

The UI design is custom-created with inspiration from modern movie streaming platforms and Figma design systems. Key design principles:

  • Clean & Minimal: Focus on content with minimal distractions
  • Responsive: Mobile-first approach with seamless desktop experience
  • Accessible: Proper contrast ratios and keyboard navigation
  • Fast: Optimized images and smooth animations

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 License

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

🙏 Acknowledgments


⭐ If you found this project helpful, please give it a star!

About

A movie discovery web app that lets users browse trending or popular films, search for specific titles, watch dedicated trailers, and save favorites to an in-built watchlist. Designed for exploring new movies, it combines browsing, searching, and personal watchlist management in one convenient, interactive platform.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published