Project Overview
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.
Screenshots
Key Features
- 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
Functionality
- 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.
Technology Stack
- 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.
Why This Project Is Useful
- 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.
Download Source Code
Project Setup Instructions
Note: This project is for educational purposes only. Not for commercial sale.







