A comprehensive Python Flask web application for movie recommendations using the OMDB (Open Movie Database) API with global movie database and real-time updates.
- Global Movie Database: Access movies from around the world via OMDB API
- Real-time Movie Search: Search and add new movies instantly from OMDB
- Personalized Recommendations: AI-powered content-based filtering using genres and ratings
- User Authentication: Secure login and registration system
- Movie Rating System: Rate movies and get better recommendations
- Advanced Search: Search movies by title, plot, cast, or director
- Watchlist Management: Save movies to watch later
- Responsive Design: Beautiful UI that works on all devices
- Rich Movie Data: Detailed information including awards, box office, runtime, and more
- Comprehensive Data: Detailed movie information including awards, box office, ratings
- Global Coverage: Movies from all countries and languages
- Real-time Access: Search and add movies instantly
- Rich Metadata: Director, cast, plot, runtime, country, language information
- Free Tier Available: 1000 requests per day for free
pip install -r requirements.txt- Visit OMDB API website
- Choose a plan (free tier available with 1000 requests/day)
- Register and get your API key
- Copy your API key
- Copy
.env.exampleto.env:
cp .env.example .env- Edit
.envfile and add your OMDB API key:
OMDB_API_KEY=your_actual_omdb_api_key_here
FLASK_SECRET_KEY=your_secret_key_here
python app.pyThe application will be available at http://localhost:5000
- Register: Create a new account to get personalized recommendations
- Browse Movies: Explore featured movies and new releases
- Search: Find specific movies using the search functionality
- Rate Movies: Rate movies you've watched to improve recommendations
- Add to Watchlist: Save movies to watch later
- Get Recommendations: Visit your dashboard for personalized suggestions
- Add New Movies: Search for any movie and it will be added from OMDB
- Backend: Python Flask
- Database: SQLite with rich movie schema
- Frontend: HTML, CSS (Tailwind), JavaScript
- API: OMDB (Open Movie Database)
- ML: scikit-learn for recommendation algorithms
This application integrates with OMDB API to provide:
- Real-time Movie Search: Search any movie and add it instantly
- Detailed Movie Information: Plot, cast, director, awards, box office
- Global Movie Coverage: Movies from all countries and languages
- Rich Metadata: Runtime, country, language, awards information
- High-quality Posters: Movie poster images
The system uses advanced content-based filtering:
- Genre Analysis: Analyzes user's preferred movie genres
- Rating-based Filtering: Considers user's highly-rated movies (4+ stars)
- Similarity Matching: Finds movies with similar genres and themes
- Popularity Fallback: Shows popular movies for new users
- Continuous Learning: Improves recommendations as users rate more movies
- users: User authentication and profile data
- movies: Comprehensive movie information from OMDB
- IMDB ID, title, plot, poster, release date
- Ratings, votes, genres, runtime
- Director, cast, country, language
- Awards, box office information
- user_ratings: User ratings for movies (1-5 stars)
- watchlist: User's saved movies to watch later
- Search movies by title, plot, cast, or director
- Instant addition of new movies from OMDB
- Browse by genres, ratings, and release dates
- User registration and authentication
- Personal movie ratings and watchlist
- Customized recommendations based on preferences
- Detailed plots and cast information
- Awards and box office data
- High-quality movie posters
- Runtime, country, and language details
- Free Tier: 1000 requests per day
- Paid Tiers: Higher limits available
- The app includes intelligent caching to minimize API calls
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is open source and available under the MIT License.
For issues or questions:
- Check the documentation
- Review the code comments
- Create an issue on the repository