Skip to content

jackshendrikov/movie-finder

Repository files navigation

Movie Finder

Welcome Logo

This Django project is designed to search for movies, and in the future to receive recommendations through the neural network.

The user can search for movies by advanced search (rating, actors, keywords, years) or simply by title. In the "Specials" category you can see a list of Netflix movies, TOP-100 movies or a list of popular series. There is also a category of new popular movies.

When you go to some pages of movies or TV series (for example, "The Witcher"), you can see a short intro to the TV series or movie (videos are pulled from YouTube).

A registered user can add reviews to movies, rate them and add movies to the watchlist.

📝  Requirements

  • Django (v3.1+)
  • Python (v3.8+)
  • pandas (v1.3.0+)
  • Gunicorn (v19.6+)
  • django-heroku (v0.3.1)
  • django-extensions (v3.0.5)
  • dj_database_url (v0.5.0)
  • psycopg2 (v2.8.6)
  • python-decouple (v3.4)
  • whitenoise (v5.2.0)

✨  Features

FEATURE IMPLEMENTATION
Search movies by title ✔️
Advanced movie search (by rating, genre, keywords, year, cast) ✔️
Add/update/delete reviews ✔️
Add/remove movies from the watchlist ✔️
View all reviews (admin only) ✔️
Browse a list of popular movies ✔️
Browse the list of movies by selected genre ✔️
Browse the list of movies by special categories (TOP-100, Netflix movies, TV series) ✔️
Excellent UI + optimization for smartphones ✔️
Ability to login/register ✔️
Add recommendations based on the neural network
Add rewards to users
Add a chat

📷 App Screenshots

Advanced Search User Profile Movies List (Grid View) Movies List (List View)
Movie Page Movie Intro Genres Page Special Categories
Review Form Movie Reviews My Reviews My Watchlist

💡  Additional Info

Movies are loaded to the database from the movies.csv file with help of movies_load.py, this script reads the whole table and if some data from the table is not in our database, it adds them there.

To add data to the movies.csv format table, another script is used - movie_parser.py. There you will also need a OMDB API key, you can get it here - omdbapi.com.

🔥 To deploy the project on Heroku, read this wonderful article.

📫  Get in touch