Skip to content

dylmye/setlist-sherlock

Repository files navigation

Setlist Sherlock

FOSSA License Scan Result App Store

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

F-Droid 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
EXPO_PUBLIC_APPLE_MUSIC_DEV_TOKEN_ENDPOINT The URL (Lambda invocation endpoint etc) to grab a developer token from.

Install

Requirements:

  • node v18+
  • bun
$ bun install

Create Development Build

$ bun run 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 - bun install -g ts-node
  2. Run bun run 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 - bun install -g ts-node
  4. Run bun run 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.

Support

This app wouldn't be possible without:

Lokalise logo

Lokalise Translations Provider

Disclaimer

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

Thanks to Lomray Software for their Apple Music package!

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

See attached software licence for important warranty information.