A Flask app that generates random movie recommendations, with details listed for each title, that a user can swipe through and watch with the click of a button.
-
Install Requirements
$ pip3 install -r requirements.txt (Python 3)
-
Obtain an API Key for OMDB, Google, and Facebook. Set the keys as an environment variable Using the following format for macOS and Linux Distributions:
export KEY=value export GOOGLE_CLIENT_ID=GOOGLE_CLIENT_ID export GOOGLE_CLIENT_SECRET=GOOGLE_CLIENT_SECRET export FB_CLIENT_ID=FB_CLIENT_ID export FB_CLIENT_SECRETD=FB_CLIENT_SECRET export api_key=api_key
and add them with the following format
KEY = environ.get("value")
If you are ever adding your own code to GitHub and choose to use a
.env
file, make sure it's listed under a.gitignore
file. Therefore, it doesn't accidently get published to GitHub!= -
Download the CSV linked in this Kaggle dataset and name the file
catalog.csv
. This will store the bulk of our data.
$ python application.py or python3 application.py
Once the Flask app is running, navigate to the localhost
link provided:
* Running on https://127.0.0.1:5000/ (Press CTRL+C to quit)
- Harshi Starter Code - She originally came up with the idea, I added more features.
- Open Movie Database - Movie data API to fetch movie poster links and IMDB scores
- Kaggle Netflix Dataset - Comprehensive dataset with many Netflix movies/tv shows and their metadata
- Facebook API - Documentation on how to setup Facebook Login API
- Google API - Documentation on how to setup Google Login API
- Flask Starter Guide - A great starter guide on how to learn Flask
- Flask Tutorial - A more in-depth tutorial on Flask
- About .gitignore and config files - A step-by-step guide on how to hide your API keys
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Google Authentication
- Facebook Authentication
- Database to keep track of users
- Social profile icon on dashboard
- Watch trailers
- Allow adding friends
- Show movies your friends both liked. To watch together.
- Filter movies by category
- Add liked moves to be saved to database for future reference
- Allow updating of profile picture
- Dockerize this project