Skip to content

Dashboard of movie information for movie lovers (app written in Python)

License

Notifications You must be signed in to change notification settings

adrianne-l/movielover_py

 
 

Repository files navigation

movielover_py

To visit our deployed dashboard on Heroku, please visit the link.

Hello!🍺 Bonjour! 🎉 Hola!👋 你好!🎆 Thanks for visiting the dashboard of movie information for movie enthusiasts!!

This document (the README file) will provide general information about the app. You can select one of the following options for a specific section!

How to install and run locally

To run the dashboard locally, it is recommended to use a virtual environment like venv. The installation process with venv as well as two different approaches to run the app are demonstrated below:

Set up

Run the following command at the root directory of the project in the terminal:

# Create the virtual environment
python -m venv myenv

# Activate the environment
source myenv/bin/activate

# Install the requirements
pip install -r requirements.txt

Run the dashboard locally

python src/app.py

The dashboard could then be accessed locally in localhost:8050.

Tips for dashboard first-time users: you might see something similar to Dash is running on http://127.0.0.1:8050/ after running the command above, by simply copying and pasting http://127.0.0.1:8050/ to a browser, you will be able to view the dashboard. If you keep the dashboard open, the page will automatically refresh whenever you make additional error-free changes.

Run the app using Docker

Clone this repo and run this app using Docker with the following commands:

git clone git@github.com:UBC-MDS/movielover_py.git
cd movielover_py
docker-compose up

Open the app in the following URL http://localhost:8000/

Visualization App Purpose

Millions of movies are published on a variety of channels; however, filtering excellent movies could be time-consuming. If we could provide a list of popular movies based on customers' preferences and illustrate approximation of box offices from different dimensions, they will save a large amount of time on searching for high-quality movies. To solve this challenge, we propose building a data visualization app that allows movie enthusiasts to explore the top 10 popular movies, box offices and other relevant information. Our app can be served as a great exploratory tool for people who like visualization and friendly-user-interface to extract various data at the same time with minimum efforts to select the filters.

The full proposal can be found in our proposal file.

Usage Instructions

Users can select year range and multiple genres in the sidebar to filter out movie data to visualize in the dashboard. The dashboard contains three graphics (bar chart, line chart and scatterplot). A detailed introduction to the graphics can be found in the followed section.

Our app support interactivity between graphs. Detailed instruction as follows:

  • Bar chart: Total US revenue of a movie genre will be shown by hovering over the bar. Also, users can click a genre to make it highlighted and the other two graphs will change automatically to specify a genre as well.
  • Line chart: Average US revenue of a movie genre in the year will be shown by hovering over the point on the line. Moreover, users can select an interval to highlight a more specified period.
  • Scatter plot: IMDB rating and duration of a movie will be shown by hovering over the point. Interval selection is also supported in the scatterplot to serve presentation needs.

Brief instruction of interactivity can be also found by clicking the popover button ("Tips") on the top right of the dashboard!

App Description

Movie Lover is a dashboard designed to help movie enthusiasts explore various information (depending on the filter constraints) about movies, such as the US gross revenue for different movies genres (in the bar chart), the relationship between runtime and rating (in the scatter plot), as well as trends of average gross revenue by genres in selected year range (in the line chart). Users can filter out the movies' release years using the slider bar underneath the landing page's title. Underneath the slider, there is a click box, where users can select the movies genres they are interested in. The bar chart and scatter plot will be shown on the right side above the line chart. A brief introduction including relevant links to source files and contributors is positioned under the slider in the sidebar.

App Sketch

Contribution

We welcome all feedback and contributions. If you are interested in contributing to our app, please read our contributing document and our code of conduct. Our license outlines our permissions and copyright information for users. You are welcomed to raise new ideas and report any existing bugs.

Contributors

This GitHub repository was created by Adrianne Leung, Junrong Zhu, Linhan Cai and Zack Tang.

About

Dashboard of movie information for movie lovers (app written in Python)

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 56.3%
  • Python 41.4%
  • Dockerfile 2.0%
  • Other 0.3%