Movie Finder

Movie Finder is a Django-based web application that allows users to search for movies using the OMDB API and save their favorite films for later viewing.

It provides a clean, cinematic user interface built with Bootstrap 5 and AJAX for smooth, real-time interactions — giving users a modern and seamless experience.

This project demonstrates strong integration between a third-party API, database management, and asynchronous front-end features, making it a great example of how to build a responsive and dynamic movie discovery app using Django.

Movie Finder
Movie Finder Image 3
Movie Finder Image 2
Movie Finder Image 4
  • Live Movie Search: Instantly fetch movies from OMDB API by keyword
  • Favourites Management: Save and remove your favorite movies
  • Responsive UI: Fully responsive Bootstrap 5 layout
  • AJAX Operations: Smooth and fast interactions without page reload
  • Secure CSRF Tokens: Proper CSRF protection in all AJAX requests
  • Dynamic Card Layout: Hover effects, poster transitions, and gradient themes
  • SQLite Integration: Simple and portable Django database
  • Modular Django Structure: Organized apps, templates, and static files
  • Search Movies via OMDB API
    • Users can search for any movie by title.
    • Fetches live data (title, year, and poster) directly from the OMDB API using AJAX.
    • Displays movies dynamically in stylish cards with hover animations.
  • Add Movies to Favourites
    • Users can add any movie to their favourites list with one click.
    • Favourite movies are stored in the Django database for later access.
    • Provides instant visual feedback (“Added”) when a movie is saved.
  • Manage Favourite Movies
    • Dedicated “Favourites” page shows all saved movies.
    • Allows users to remove movies with a confirmation modal.
    • Updates dynamically without reloading the page.
  • Responsive, Modern UI
    • Built using Bootstrap 5 and custom CSS for a sleek, dark cinematic theme.
    • Optimized for all devices — desktop, tablet, and mobile.
    • Smooth hover animations and transitions for engaging visuals.
  • AJAX Integration for Smooth UX
    • Uses jQuery AJAX for fetching movie data and adding/removing favourites without full page reloads.
    • CSRF-protected AJAX calls integrated with Django for secure operations.
  • Django (Python): Handles backend logic, routing, and template rendering.
  • HTML5, CSS3, Bootstrap 5: Used to create a modern, responsive, and visually appealing user interface.
  • SQLite (default): Serves as Django’s default database, primarily for internal data storage.
  • OMDB API Integration: Enables fetching movie details from the external OMDB API.
  • Python 3.x: Powers the core logic, data processing, and dummy data generation.
  • User opens the homepage and searches for a movie.
  • AJAX request is sent to Django – Django fetches data from the OMDB API.
  • Results are displayed dynamically as responsive movie cards.
  • User clicks “Add to Favourites” – the movie is stored in the local Django database.
  • User visits Favourites page to view or delete saved movies.
  • Deletion happens with AJAX and a Bootstrap confirmation modal.

Note: This project is for educational purposes only. Not for commercial sale.