MovieInfo is a browser-based movie search application built with HTML, CSS, and vanilla JavaScript.
It uses the OMDb API to search for movies and dynamically displays movie posters, titles, release years, ratings, genres, runtime, cast information, release dates, and full plot descriptions.
The application provides a simple, responsive interface for quickly discovering movie information without requiring a complex frontend framework.
- Features
- Screenshots
- Live Demo
- Technologies
- Project Structure
- How It Works
- Movie Search
- Movie Details
- API Integration
- Installation
- Security Note
- Future Improvements
- Contributing
- License
- Author
- Support
β Movie Search
β OMDb API Integration
β Real-Time API Requests
β Movie Poster Display
β Movie Title Display
β Release Year Display
β IMDb Rating
β Genre Information
β Release Date
β Runtime Information
β Cast Information
β Full Plot Description
β Detailed Movie Modal
β Responsive Movie Card Grid
β Hover Animations
β Search Button
β Enter-Key Search
β Missing Poster Fallback
β Error Handling
β Dark Movie-Themed Interface
β Pure Vanilla JavaScript
https://dhruvpandit46.github.io/MovieInfo/
- HTML5
- CSS3
- JavaScript (ES6)
- OMDb API
- Fetch API
- REST API
- DOM Manipulation
- CSS Grid
- Responsive Design
- Browser APIs
MovieInfo/
β
βββ index.html
βββ style.css
βββ script.js
βββ assets/
β βββ default.jpg
βββ images/
βββ README.md
MovieInfo follows a simple client-side API workflow:
User
β
βΌ
Search Movie
β
βΌ
JavaScript
β
βΌ
OMDb API
β
βΌ
Movie Search Results
β
βΌ
Movie Cards
β
βββ Poster
βββ Title
βββ Release Year
βββ More Info
β
βΌ
Full Movie Details
β
βΌ
Modal
Users can enter a movie name into the search field.
The application sends a request to the OMDb API using the search endpoint:
https://www.omdbapi.com/?apikey=API_KEY&s=MOVIE_NAME
The returned results are dynamically converted into movie cards.
Each card contains:
- Movie poster
- Movie title
- Release year
- More Info button
Selecting More Info sends another API request using the movie's IMDb ID.
https://www.omdbapi.com/?apikey=API_KEY&i=IMDB_ID&plot=full
The application then displays detailed information inside a modal.
- π¬ Title
- β IMDb Rating
- π Genre
- π Release Date
- β± Runtime
- π₯ Actors
- π Full Plot
- πΌ Movie Poster
Search results are dynamically generated using JavaScript.
Each result becomes a .movie-card containing:
Movie Card
β
βββ Poster
βββ Title
βββ Release Year
βββ More Info
The layout uses CSS Grid to automatically adapt the number of cards displayed according to the available screen width.
MovieInfo uses the OMDb API as its external movie data source.
The application performs two primary API operations:
?s=${encodeURIComponent(query)}&i=${imdbID}&plot=fullThe Fetch API is used to asynchronously retrieve the JSON responses.
The application handles several common API and user-input situations.
The application does not send a request when the search field is empty.
If the API does not return matching movies, the application displays:
No results found for "query".
If the request fails, the application displays an error message instead of leaving the interface blank.
When OMDb returns:
Poster: N/A
the application falls back to:
assets/default.jpg
- Dark cinematic interface
- Cyan accent color
- Responsive movie grid
- Movie poster cards
- Hover scaling animations
- Detailed information modal
- Modal background overlay
- Clean search interface
- Responsive layout
- Minimal frontend architecture
Clone the repository:
git clone https://github.com/dhruvpandit46/MovieInfo.gitGo inside the project:
cd MovieInfoOpen:
index.html
in a browser.
No framework or package installation is required.
MovieInfo requires an OMDb API key to retrieve movie information.
The current implementation stores the API key inside script.js:
const API_KEY = "YOUR_API_KEY";Replace it with your own OMDb API key if necessary.
Security Note: API keys embedded in frontend JavaScript are visible to anyone who can inspect the website. For a production application, API requests should be routed through a backend service or serverless function.
- Movie pagination
- Search suggestions
- Genre filtering
- Year filtering
- IMDb rating filtering
- Trending movies
- Popular movies section
- Movie favorites
- Watchlist
- LocalStorage support
- Search history
- Dark / light theme
- Skeleton loading animations
- Advanced movie sorting
- Actor information
- Related movies
- Trailer integration
- TMDB integration
- Backend API proxy
- Secure API key handling
- PWA support
Contributions are welcome.
-
Fork the repository.
-
Create your feature branch:
git checkout -b feature/new-feature- Commit your changes:
git commit -m "Add new feature"- Push your branch:
git push origin feature/new-feature- Open a Pull Request.
Licensed under the MIT License.
MIT Β© 2026 Dhruv Pandit.
See the LICENSE file for full license details.
Dhruv Pandit
GitHub
https://github.com/dhruvpandit46
https://www.linkedin.com/in/dhruv-pandit-755786326
https://instagram.com/dhruv_pandit2007
If you found MovieInfo useful,
please consider giving it a β on GitHub.
It helps support future development.


