Skip to content

dylmye/setlist-sherlock

Repository files navigation

Setlist Sherlock

Get it on Google Play

Find and read concert setlists with ease. Powered by Setlists.fm.

F-Droid, iOS coming soon.

Develop

This app is built on the Expo framework.

Environment Variables

The following environment variables are required in a .env file in the root directory:

Name Value
EXPO_PUBLIC_SETLISTFM_API_KEY Setlist.fm API key from here
EXPO_PUBLIC_SPOTIFY_API_KEY Spotify client ID from here

Install

Requirements:

  • node v18+
  • yarn
$ yarn install

Create Development Build

$ yarn start

Add a --go flag if you want to use the Expo Go app.

Updating Setlist.fm API config

Fortunately Setlist.fm actually maintain their OpenAPI reference properly, so we can directly request their config.

To update our Setlist.fm RTK Query config:

  1. Make sure you have ts-node installed globally - yarn global add ts-node
  2. Run yarn generate:api:setlistfm
  3. Overwrite with any patches as needed: check what's currently marked with "manually edited to match actual schema"

Updating Spotify API config

sonallux's fixed Spotify API is used to generate the Spotify RTK query. It's released under MIT licence. Thanks sonallux :)

To update the Spotify API:

  1. Grab the latest fixed-spotify-open-api.yml from here
  2. Replace the file in store/open-api-configs named spotify.yml
  3. Make sure you have ts-node installed globally - yarn global add ts-node
  4. Run yarn generate:api:spotify

Build

Use the GitHub workflow in this repo to create builds. Builds are created via EAS on the cloud.

Instructions for creating a production build locally are available here.

Disclaimer

App icon by Olga from Noun Project (CC BY 3.0.)

Setlist Sherlock is not connected to or affiliated with Setlist.fm, Live Nation or any of the artists' whose setlists are available or featured in the app.

See attached software licence for important warranty information.