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
- Host: GitHub
- URL: https://github.com/dylmye/setlist-sherlock
- Owner: dylmye
- License: isc
- Created: 2023-11-13T13:27:09.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2026-02-28T10:01:51.000Z (4 months ago)
- Last Synced: 2026-02-28T14:59:21.826Z (4 months ago)
- Topics: expo, react-native, setlist-fm, setlistfm
- Language: TypeScript
- Homepage:
- Size: 3.6 MB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Setlist Sherlock
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
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.