Coder Social home page Coder Social logo

saif807380 / movie-recommender-app Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 745 KB

Flutter app that recommends movies based on the selected genres as well as user's previously liked movies

Kotlin 0.61% Swift 0.72% Objective-C 0.07% Dart 92.74% Python 5.86%

movie-recommender-app's Introduction

Movie Recommender App

This is a Flutter Android App that recommends movies based on the users selected genres and liked movies. It uses Google's Flutter framework for the front end of the Android App and uses python to recommend movies via a Flask API. Given a database of movies, with their genres and ratings along with other miscellaneous details like plot, cast, directors, year of release, etc., the movies are displayed on the basis of the user’s “liked” movies.

Background

The algorithm used for suggesting movies based on the user selected genres, is based on the concept of Power Set. A power set is created of the set of genres received from the user and sorted in non-increasing order of the cardinality of the sets of genres. For movie suggestions for the case where no movies have been liked by the user, the genre of each movie from the dataset of movies is compared with each set of the power set iteratively. If the comparison returns a true value, then the movie along with its data, is appended to a list, which is then sent to the front end by the API. When there are enough number of liked movies ( this number can be set ), the movies are recommended on the basis of their similarity by any one of the two methods:

  1. A Cosine Similarity Function
  2. Using the .corr() built-in Pandas method

Setup

Clone the repository

$ git clone https://github.com/Saif807380/Movie-Recommender-App

Run the server

$ python test.py

Create an ngrok tunnel for the localhost

$ ngrok port PORT_NUMBER

Build the app

$ flutter build

movie-recommender-app's People

Contributors

saif807380 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.