A modern, responsive movie discovery web application that lets users explore trending and upcoming movies, watch trailers, and manage their personal watchlist.
- 🔍 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
- 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
- Node.js (v14 or higher)
- npm or yarn
- TMDB API key (Get one here)
- YouTube Data API key (Get one here)
-
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 -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env
Edit
.envand add your API keys:VITE_MOVIE_API_KEY=your_tmdb_api_key_here VITE_YOUTUBE_API_KEY=your_youtube_api_key_here
-
Start the development server
npm run dev
-
Open your browser and navigate to
http://localhost:5173
npm run buildThe built files will be in the dist directory.
- Browse Movies: Explore trending and upcoming movies on the homepage
- Search: Use the search bar to find specific movies
- Watch Trailers: Click on any movie to view details and watch trailers
- Add to Watchlist: Bookmark movies you want to watch later
- Manage Watchlist: View and organize your saved movies
| Variable | Description | Required |
|---|---|---|
VITE_MOVIE_API_KEY |
TMDB API key for fetching movie data | ✅ |
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
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
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- The Movie Database (TMDB) for the comprehensive movie API
- YouTube Data API for trailer integration
- Tailwind CSS for the utility-first CSS framework
- Flowbite for the component library
- Figma Community for design inspiration
⭐ If you found this project helpful, please give it a star!


