Skip to content

Gaurav-0211/OMDB-Explorer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎬 OMDB Movie Explorer

A full-stack movie discovery platform built using Spring Boot, React, and Tailwind CSS, powered by the OMDB API.
Search for movies, explore detailed descriptions and save your favoritesβ€”all inside a clean, modern, responsive UI.


Preview

Home, Search Bar and Favourite

Screenshot 2025-11-25 164501 ### Search Result Screenshot 2025-11-25 164545 ### Single Content Result Screenshot 2025-11-25 164618 ### Add to favourites Screenshot 2025-11-25 164645 ### Footer Screenshot 2025-11-25 164705

πŸš€ Tech Stack

Frontend

  • βš›οΈ React (Vite)
  • 🎨 Tailwind CSS
  • πŸ”„ Axios / Fetch API
  • 🧩 Modular Component Architecture

Backend

  • β˜• Spring Boot 4.0.0
  • 🌐 RESTful API
  • ⚑ Caching with Caffeine (Redis)
  • πŸ”’ Secure API key via environment variables
  • πŸ› οΈ Maven + Java 17+

External API

  • πŸŽ₯ OMDB API (Open Movie Database)

πŸ“Œ Features

πŸ” Search Dashboard

  • Search movies/series using title input
  • Automatic URL encoding
  • Fast, cached API responses

🎞️ Results Grid

  • Movie posters
  • Titles & Release Years
  • Fully responsive layout

🎬 Detailed Movie View

  • Plot, Genre, Director, Writer
  • Actor list
  • Ratings (IMDB, Rotten Tomatoes, Metacritic)
  • High-quality poster
  • Modern modal design

⭐ Favorites

  • Add/remove movies to favorites
  • Persisted using localStorage
  • Horizontal Favorites preview bar

πŸ“± Fully Responsive

  • Optimized for:
    • Mobile
    • Tablet
    • Desktop

πŸ”„ Workflow (How It Works)

  1. User searches for a movie title
  2. Frontend calls backend:
    GET /api/search?title=name
    
  3. Backend encodes the title and forwards the request to OMDB API
  4. OMDB returns movie list β†’ displayed in grid
  5. Clicking a movie fetches details:
    GET /api/movie/{imdbID}
    
  6. Movie details shown in a modal
  7. User may add movie to Favorites
  8. Favorites saved locally and shown in a horizontal preview bar

🧩 Backend API Endpoints

Search Movies

GET /api/search?title={movie-title}

Get Movie Details

GET /api/movie/{imdbID}

πŸ”‘ OMDB API Key Setup

Generate a free OMDB API key here:
πŸ”— https://www.omdbapi.com/apikey.aspx

Set environment variable:

Windows (PowerShell)

$env:OMDB_API_KEY="your_api_key"

Mac/Linux

export OMDB_API_KEY=your_api_key

βš™οΈ Running the Project

Backend

cd backend
mvn spring-boot:run

Frontend

cd frontend
npm install
npm run dev

Open in browser:

http://localhost:5173/

πŸ—‚οΈ Folder Structure

omdb-movie-explorer/
β”‚
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ src/main/java/com/omdb/...
β”‚   β”œβ”€β”€ resources/application.properties
β”‚   └── pom.xml
β”‚
└── frontend/
    β”œβ”€β”€ src/
    β”‚   β”œβ”€β”€ components/
    β”‚   β”œβ”€β”€ api.js
    β”‚   └── App.jsx
    β”œβ”€β”€ index.html
    └── package.json

πŸš€ Future Enhancements

  • πŸ” Authentication + JWT
  • πŸ’Ύ Save favorites in database
  • πŸŒ“ Light/Light mode
  • 🎞️ Trending Movies section
  • ⚑ Pagination for search results


πŸ“œ License

This project is developed by Gaurav Kumar and have licensed under the MIT License.

About

A web application that enables users to discover, search and explore real-time movie details using an intuitive UI integrated with external movie APIs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors