Rewrote the frontend in React. The original Python code running on AWS Lambda remains untouched (and ugly).
The script uses Selenium, which runs a headless version of Chrome and scrapes the New Yorker website in order to collect Jazz, Rock, and Pop music recommendations. These are then formatted to JSON, saved into an S3 bucket, and if considered valid recommendations, displayed on the website. Suggestions such music events, festivals, etc. are not considered valid and are therefore ignored.
A CloudWatch event running every six hours triggers the invocation of lambda_function.py.
You can test the project locally on Docker by running the command make lambda-run from the main
project folder.
Please note that a file named credentials.py is needed within the lambda/src folder in order to run the build successfully.
This is because connecting to both the Spotify API and AWS requires authentication (client_id, client_secret for
Spotify; aws_access_key_id, aws_secret_access_key for AWS).
The build is deployed by running the command make lambda-build.
cd into remix-app, then run npm run install to install the required dependencies,
then run npm run dev to start the local development server.
A local version of the website will be available at http://localhost:3000
The app is currently deployed to production with fly.io.
jairovadillo for his groundwork on pychromeless