The movie recommandation website is a flask app created using Python, CSS and JavaScript. The app recommends movies to the user based on the users selection. The app is also hosted on heroku. The app has the following endpoints.
- GET /actors and /movies
- POST /actors and /movies and
- DELETE /actors/ and /movies/
- PATCH /actors/ and /movies/
The tech stack includes:
- SQLAlchemy ORM to be our ORM library of choice
- PostgreSQL as our database of choice
- Python3 and Flask as our server language and server framework
- Flask-Migrate for creating and running schema migrations (locally)
- Heroku, Auth0, and Unittest for deployment and testing.
- Clone the project repository:
https://github.com/SreeramVipparla/Movie_Recommendation_Website.git
- Initialize and activate a virtualenv:
$ python3 -m venv env
$ source env/bin/activate
- Install the dependencies:
$ pip install -r requirements.txt
- Replace setup.sh with your own data and run-
$ source setup.sh
- Run the development server:
$ export FLASK_APP=app
$ export FLASK_ENV=development # enables debug mode
$ python3 app.py
- Navigate to http://localhost:5000
To run the tests, run
python3 test_app.py
Expected result: Ran 9 tests
OK
The JWT tokens are provided in the auth0.py file as follows:
"user" : Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InNFNjFQV2hheGxBQmdKQndfWDdjdyJ9.eyJpc3MiOiJodHRwczovL2Rldi1wamR6bWJiOS51cy5hdXRoMC5jb20vIiwic3ViIjoiYXV0aDB8NjFhMzA3ODI5M2Q1NDAwMDY5YzdmZWI5IiwiYXVkIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAwIiwiaWF0IjoxNjM4MzU1ODgwLCJleHAiOjE2Mzg0NDIyODAsImF6cCI6IkhQa0hRdmZEQUZvVEwzb3I0ZzFnVFNaTXBHODF6WTVuIiwic2NvcGUiOiIiLCJwZXJtaXNzaW9ucyI6WyJnZXQ6YWN0b3JzIiwiZ2V0Om1vdmllcyJdfQ.RYw3Hm7bsne2BVTTxYD3fmwa6gmLpapdJXof_G0_RNHy9nak_j8c-HcAWZkM6brCbaMjEItR69tWvUktnmW-jSyQvLUikgQzXlADaETHbehdT8AyDhWRzmKbtXjb2OaINHHuPqk-7wenlASaYk_9LzX99ebNs66ZJqtHI27XVl7Vr9r4rWIeLAyJNzMojJedDP9bAn7MciAZQaddz-YGkit9G_oh-CxYpEka_yDZvE35vgZjFbkPk4JGgj6FU-YHaFdTy9xFiNk5tPw6LVfufNshjF920wNH2NSEZN3Kf7es8pYMI7dCTNBDw3lMSMgZBveLUHAW15XR8sOVEvjWtg"
admin" : Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InNFNjFQV2hheGxBQmdKQndfWDdjdyJ9.eyJpc3MiOiJodHRwczovL2Rldi1wamR6bWJiOS51cy5hdXRoMC5jb20vIiwic3ViIjoiYXV0aDB8NjFhMzA4MmFhYjc5YzkwMDcxM2Y0MzYwIiwiYXVkIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAwIiwiaWF0IjoxNjM4MzU2MDA4LCJleHAiOjE2Mzg0NDI0MDgsImF6cCI6IkhQa0hRdmZEQUZvVEwzb3I0ZzFnVFNaTXBHODF6WTVuIiwic2NvcGUiOiIiLCJwZXJtaXNzaW9ucyI6WyJkZWxldGU6bW92aWVzIiwiZ2V0OmFjdG9ycyIsImdldDptb3ZpZXMiLCJwb3N0Om1vdmllcyJdfQ.g_33LXw-ByZHSill7HvNRWeoBeO5fvopAGz3HaUiA6J4w19ievjwfBlQZd6gi0O7Unc7RzJaCgeXMUUVxU9Ck-Zi4cR3NmYRS-elG6KNQD2YqWYdBWhGHAHmins4pQMaT_l7c0nQM5eDEXUks75N4e2y0XLODf_PgToFvejQVTpFb3B2tfzhF4s29pHlpIuR5y3AWhvC9d8eWkMY0c6XuXgyyyjmZss6n16S5k-y7pgL00OUzkjn6aZ4zoVQVhWmVslSiFytdgz9kazMF7O0n65WBdwJnseIJycic0CXdeRcUBf-eCPT9hKxyOUxadd-LYAVk3vRQkXd-CwVi3vSAg
",
- AUth0 JWT link:
https://dev-pjdzmbb9.us.auth0.com/authorize?audience=http://localhost:5000&response_type=token&client_id=HPkHQvfDAFoTL3or4g1gTSZMpG81zY5n&redirect_uri=http://localhost:8080/&state=STATE