An open API service indexing awesome lists of open source software.

https://github.com/dylmye/setlist-sherlock

Powered by setlist.fm
https://github.com/dylmye/setlist-sherlock

expo react-native setlist-fm setlistfm

Last synced: 4 months ago
JSON representation

Powered by setlist.fm

Awesome Lists containing this project

README

          



Setlist Sherlock




FOSSA License Scan Result
App Store
Play Store
GitHub Release


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

**This app isn't available on F-Droid due to them not allowing apps that require a private API key. The app also does not meet the inclusion policy (size requirement) for IzzyOnDroid. If you don't want to use Google Play, feel free to install APKs from [the release page](https://github.com/dylmye/setlist-sherlock/releases/latest) instead.**

## Develop

This app is built on the [Expo](https://expo.dev) 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](https://api.setlist.fm/docs/) |
| EXPO_PUBLIC_SPOTIFY_API_KEY | Spotify client ID from [here](https://developer.spotify.com/documentation/web-api) |
| EXPO_PUBLIC_APPLE_MUSIC_DEV_TOKEN_ENDPOINT | The URL (Lambda invocation endpoint etc) to grab a developer token from. |

### Install

Requirements:

- node v18+
- bun

```bash
$ bun install
```

### Create Development Build

```bash
$ 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:

0. Make sure you have `ts-node` installed globally - `bun install -g ts-node`
1. Run `bun run generate:api:setlistfm`
2. Overwrite with any patches as needed: check what's currently marked with "manually edited to match actual schema"

### Updating Spotify API config

[sonallux](https://github.com/sonallux/spotify-web-api)'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:

0. Grab the latest `fixed-spotify-open-api.yml` from [here](https://github.com/sonallux/spotify-web-api/releases)
1. Replace the file in `store/open-api-configs` named `spotify.yml`
2. Make sure you have `ts-node` installed globally - `bun install -g ts-node`
3. Run `bun run generate:api:spotify`

## Build

Use the GitHub workflow in this repo to create builds. Builds are created via [EAS](https://expo.dev/eas) on the cloud.

Instructions for creating a production build locally [are available here](https://docs.expo.dev/build-reference/local-builds/).

## 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](https://lomray.com/) for their [Apple Music package](https://github.com/Lomray-Software/react-native-apple-music)!

**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.