GithubHelp home page GithubHelp logo

discovermovies's Introduction

Discover Movies!

A web-app to discover 10 most popular movies by year & genre.

Usage

  • Goto to http://35.243.142.43.
  • Use the sidebar form to select genre & enter year.
  • Press Arrow icon to submit.
  • A list of 10 most popular movies appears on the page. Each listing contains:
    • The title
    • Poster image
    • An overview of the plot
    • And, a link to the imdb page of the movie (opens in a new tab)

Implementation

The app has been deployed on a public cloud server accessible through the web. Details:

  • A VM instance running Debian Linux was created using Google Cloud Compute Engine service.
  • Bottle, a lightweight WSGI micro web-framework for Python was used along with apache webserver using wsgi integration. At a high-level, following steps were carried out:
    • install packages (use: sudo apt install ): apache2, libapache2-mod-wsgi-py3, libapache2-mod-wsgi
    • install python packages (use: pip install & pip3 install ): bottle, requests
    • Create new directory under /var/www: mkdir /var/www/myapp
    • Create new VirtualHost entry in apache conf (make a new .conf file in "sites-enabled" conf directory and paste below content):
<VirtualHost *>
    WSGIDaemonProcess myapp user=<replace_your_username_here> group=www-data processes=1 threads=5
    WSGIScriptAlias / /var/www/myapp/app.wsgi
    <Directory /var/www/myapp>
        WSGIProcessGroup myapp
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>
  • Restart apache server
  • Now, Bottle app can be deployed used wsgi integration with apache, see link
  • A free API service hosted by themoviedb.org (requires key-based authentication) was used to fetch list of movies based on user input.

Bugs / Issues:

  • User input is not sanitised / validated.
  • The API service is rate-limited, which leads to error in case of frequent user requests.

discovermovies's People

Contributors

vivek1376 avatar

Watchers

James Cloos 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.