Migrates data from a Google Spreadsheet into a Drupal instance that serves as an API for a React app built using Gatsby. Hopefully provides a fun way to experiment with the awesome Album of the Year List Project data and discover new music.
Visualizations based on data from http://robmitchum.github.io/aotysheets.html
App available here: http://brianperryinteractive.com/aoty-visualizations/
Storybook available here: http://brianperryinteractive.com/aoty-storybook/
Prerequisites:
- Lando - https://lando.dev/
- NodeJS - https://nodejs.org
Run the install script using:
./scripts/install.sh
This will create a Drupal instance with initial seed data available at http://aoty.lndo.site and will run Gatsby in develop mode at http://localhost:8000/
To stop the running Drupal instance run:
lando stop
To restart the Drupal instance and run Gatsby in develop mode run:
lando start
cd gatsby
npm run develop
Full slides available here: http://brianperryinteractive.com/aoty-slides/ (or PDF version note: doesn't contain all dynamic content)
The talk 'Hot JAMS(tack): Building a Music Discovery App with Drupal and React' has been presented at:
- Design 4 Drupal - June 27, 2019. Video. Reunion tour edition - updates on what has changed in the Decoupled Drupal and React landscape since the app was originally built.
- MidCamp Chicago - March 10, 2018. Video.
- DrupalCon Nashville - April 11, 2018 - Video.
- Texas Camp - June 1, 2018 - Video.
Related talk 'Storybook: An Interactive Pattern Library for Your Decoupled Applications' has been presented at:
- Design 4 Drupal - June 28, 2018.
- Drupal GovCon - August 24, 2018 - Video.
Slides: http://brianperryinteractive.com/storybook-slides
Migration of album of the year data can be run manually by enabling the aoty_migrate module:
lando drush en aoty_migrate
You'll also need to specify your own SpotifyWebAPI credentials in drupal-project/web/modules/custom/aoty_migrate/src/Plugin/migrate/source/AlbumSourcePlugin.php (This will be made configurable via Drupal at some point...)
and then running:
lando drush migrate-import --group=aoty -y
The previous version of this project can be checked out using the 1.0
tag. 1.0
contains a Drupal instance based on the (now deprecated) Reservoir Drupal
Distribution and a React app that interacts with Drupal's API on app load.