Skip to content

React movie search app with IMDb ratings and detailed film information. OMDB API powered.

Notifications You must be signed in to change notification settings

MuhammadSohaib-pro/Cinema-Scope

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 CinemaScope

Discover your next favorite film with CinemaScope - a modern, elegant movie search application built with React.js and powered by the OMDB API.

📸 Screenshots

Home Page

Home Page

Search Results

Search Results

Movie Details

Movie Details

✨ Features

  • 🔍 Smart Search - Search through thousands of movies from classics to latest releases
  • 🎥 Detailed Information - View comprehensive movie details including plot, cast, ratings, and awards
  • IMDb Integration - Display IMDb ratings and vote counts
  • 📱 Responsive Design - Seamless experience across desktop, tablet, and mobile devices
  • 🎨 Modern UI - Beautiful dark theme with gold accents and smooth animations
  • Fast Performance - Quick search results and smooth transitions
  • 🖼️ High-Quality Posters - Display movie posters with hover effects
  • 📊 Rich Details - Box office, runtime, language, country, and award information

🛠️ Tech Stack

  • React.js - UI library with React Hooks
  • React Router - Client-side routing and navigation
  • OMDB API - Movie database and information
  • Lucide React - Modern icon library
  • Bootstrap 5 - Responsive grid and utilities
  • Vite - Next-generation build tool
  • CSS3 - Custom properties and modern styling

🚀 Getting Started

Prerequisites

Installation

  1. Clone the repository:
git clone https://github.com/MuhammadSohaib-pro/Cinema-Scope.git
cd Cinema-Scope
  1. Install dependencies:
npm install
  1. Set up environment variables:

Create a .env file in the root directory:

VITE_BASE_URL=https://www.omdbapi.com
VITE_API_KEY=your_api_key_here
  1. Run the development server:
npm run dev
  1. Open your browser:
http://localhost:5173

📖 Usage

  1. Search for movies: Enter a movie title in the search bar and click "Search"
  2. Browse results: View movie cards with posters, titles, years, and types
  3. View details: Click "View Details" on any movie card to see full information
  4. Navigate back: Use the "Back to Search" button to return to results

📁 Project Structure

src/
├── components/
│   ├── Header.jsx           # App header with logo
│   ├── HeroSection.jsx      # Hero section with search
│   ├── MovieCard.jsx        # Individual movie card
│   ├── EmptyMovie.jsx       # Empty state component
│   └── MovieNotFound.jsx    # Not found state
├── views/
│   ├── Home.jsx             # Main search page
│   ├── MovieDetail.jsx      # Movie details page
│   └── NotFound.jsx         # 404 page
├── lib/
│   └── api.js               # API utility functions
├── App.jsx                  # Root component with routes
├── App.css                  # Component styles
├── index.css                # Global styles and theme
└── main.jsx                 # Application entry point

🌟 Features in Detail

Search Functionality

  • Real-time search with loading states
  • Empty state for first-time visitors
  • Not found state for invalid searches
  • Clean, intuitive search interface

Movie Details

  • Full movie information including:
    • Title, year, and runtime
    • IMDb rating and vote count
    • Genre tags
    • Full plot synopsis
    • Director and cast information
    • Language and country
    • Box office earnings
    • Awards and nominations

User Experience

  • Smooth hover animations on cards
  • Loading indicators during API calls
  • Error handling with user-friendly messages
  • Responsive grid layout for all screen sizes

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  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

📝 API Attribution

This project uses the OMDB API for movie data. Please ensure you have your own API key to use this application.

📄 License

This project is open source and available under the MIT License.

👨‍💻 Author

Muhammad Sohaib

🙏 Acknowledgments


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

Built with ❤️ while learning React.js

About

React movie search app with IMDb ratings and detailed film information. OMDB API powered.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published