Movie API Search Tool

The user will enter a search query (movie title). The app will make an API call to the IMBD api and display a list of different movie titiles. When the user clicks on a movie title, the app will contact the moviedb API to request search query data (like overview, release date etc); youtube API to request trailers data; and IMBD API to the short plot summary of the movie. The app will present this data to the user in a web application. There's a cache and database built to manage bookmarked movies that a user can manage.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. You can either fork this repoistory and then clone it from your computer or you can download the zip file.

Prerequisites

Installing

Once you clone the repo, you will want to install all the modules so that the repo should function properly.

  1. Create a OMDB API key.
  2. Create a Youtube API key
  3. Create a RapidAPI key.
  4. Create a IMBD API key.
  5. Create an .env with your API keys.
  6. To start, open up a terminal or a command prompt and navigate to the directory of your Python project. Once you are there, type the following command: pip install -r requirements.txt

To utilize API keys, you will need to create a .env file in your main directory. You will not be able to upload it to this repo as most .gitignore will ignore the file. This is for security reasons as you do not want to post your API Keys to these services out in the open. When you are done creating the .env file, insert your respective keys into the text below and then save the .env file.

export MOVIE_API_KEY='INSERT MOVIE_API_KEY KEY HERE'
export YOUTUBE_API_KEY='INSERT YOUTUBE_API_KEY KEY HERE'
export X-RapidAPI-Key='INSERT X-RapidAPI-Key HERE'
export IMBD_API_KEY='INSERT IMBD_API_KEY HERE'

Usage

To run the application, enter the following in the terminal:

flask run

App will be running on http://127.0.0.1:5000

Tests

To run tests, use this command from the root directory of the project

python -m unittest discover -s tests -p '*_test.py'

The discover option will find and run all the tests in the tests directory. Otherwise you can run the tests individually in the tests folder.

Authors

  • Abdirahman Ali
  • Carter Klimek
  • James Nguyen
  • Tenzin Minleg