Group Members:
Michael Capaldi - 210641428
Daniel Crake - 210744246
Philip Wurzner - 210930632
A fun web app which allows users to generate random Owen Willson movies and rate them. Rating the movies will add them to their own private user-specific lists which they can amend by changing scores and deleting entries. This webapp makes use of the external Owen Wilson API: https://owen-wilson-wow-api.herokuapp.com/wows/random
Hopefully this project will make you go:
The REST API is based on Python's Flask module and SQLAlchemy is used for object-relational mapping. The Google Cloud Platform is used to deploy the app and to home the persistent databases.
This web app features:
- User accounts (with personal user functions)
- Hashed passwords
- A Persistent cloud database (using GCP)
- Dynamically generated REST API
- Makes use of an extral database API
- Two Unique Datasets (Users and Movie_review)
- Advanced HTML Functionality
The GET request is preformed when a the homepage is visited and when the WOW button is pressed. THis function gets a randomly generated owen wilson movie from the extral API.
HTML Form on the homepage:
app.py handling of the GET method form:
The web app makes use of 3 POST operations.
The first POST operation is used to allow a user to create an account on the /signup/ route.
HTML form (signup):
app.py handling of the User Signup POST:
the second POST operation is to allow a user to login:
HTML form (login):
app.py handling of the User Login POST:
the final POST operation is to allow a user to post a review to their list:
HTML form (homepage):
app.py handling of post request:
One PUT request is present to allow for the editing of personal list entries.
HTML form (homepage):
app.py handling:
One DELETE request is present to allow for the removal of personal list entries.
HTML form (homepage):
app.py handling:
To set up the application you will need to start off by installing python to your machine as well as installing the required packages with the requirments.txt. Once this has been done you can clone the repository using the following command "git clone https://github.com/dancrake1/cloud_computing". This will include the application itself as well as the HTML templates reqired to run the app. Using the following command you will be able to run the app and display the Web Page WOW!: "python3 app.py". The below screenshot shows this being run in the termminal. For the purposes of our app and to ensure the functionality and storage of our databases we have run this on our virtual machine within the Google Cloud Platform.