{"id":13706916,"url":"https://github.com/nrubin29/finale","last_synced_at":"2025-10-04T20:11:38.733Z","repository":{"id":43736096,"uuid":"267782609","full_name":"nrubin29/finale","owner":"nrubin29","description":"A fully-featured Last.fm client and scrobbler with Shazam-like scrobbling, a collage generator, home screen widgets, and more!","archived":false,"fork":false,"pushed_at":"2025-03-21T23:07:02.000Z","size":508305,"stargazers_count":139,"open_issues_count":27,"forks_count":8,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T11:08:16.600Z","etag":null,"topics":["dart","flutter","lastfm","scrobble","scrobbler"],"latest_commit_sha":null,"homepage":"https://finale.app","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nrubin29.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-29T06:28:13.000Z","updated_at":"2025-03-21T23:07:07.000Z","dependencies_parsed_at":"2025-01-06T01:06:45.267Z","dependency_job_id":"e0924d1f-d7e4-426f-b766-5d821d078c4b","html_url":"https://github.com/nrubin29/finale","commit_stats":null,"previous_names":[],"tags_count":39,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrubin29%2Ffinale","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrubin29%2Ffinale/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrubin29%2Ffinale/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrubin29%2Ffinale/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nrubin29","download_url":"https://codeload.github.com/nrubin29/finale/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247332604,"owners_count":20921853,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dart","flutter","lastfm","scrobble","scrobbler"],"created_at":"2024-08-02T22:01:12.433Z","updated_at":"2025-10-04T20:11:28.718Z","avatar_url":"https://github.com/nrubin29.png","language":"Dart","funding_links":[],"categories":["Dart"],"sub_categories":[],"readme":"# Finale\n\nA fully-featured Last.fm client and scrobbler with Shazam-like scrobbling, a collage generator, and more!\n\nThe app is available on [iOS](https://apps.apple.com/us/app/finale-for-last-fm/id1518365620), [Android](https://play.google.com/store/apps/details?id=com.nrubintech.finale), the [web](https://web.finale.app/), and [macOS](https://apps.apple.com/us/app/finale-for-last-fm/id1518365620). Note that the web and macOS versions don't support Shazam-like scrobbling.\n\nCheck out [finale.app](https://finale.app) for screenshots.\n\n## Running the app\n\nTo run Finale, you'll need:\n* [Flutter](https://flutter.dev/docs/get-started/install)\n* A [Last.fm API key and secret](https://www.last.fm/api/account/create)\n* To use the music recognition feature, you'll need [ACRCloud credentials](https://www.acrcloud.com)\n* To use Spotify search, you'll need a [Spotify client ID](https://developer.spotify.com/dashboard)\n* To run Finale on an iOS device or Mac, you'll also need:\n    * A Mac\n    * Xcode 11 or greater\n    * An [Apple Developer account](https://developer.apple.com) (personal account will work)\n\n1. `$ git clone https://github.com/nrubin29/finale.git`\n2. Rename `env_sample.dart` in `lib/` to `env.dart` and fill in your keys\n3. `$ flutter pub get`\n4. `$ flutter pub run build_runner build`\n\n### Running the app on an iOS device or Mac\n\n5. To use the iOS widget:\n   1. Rename `EnvironmentSample.swift` in `ios/FinaleWidget/` to `Environment.swift`\n   2. Uncomment the code and fill in your Last.fm API key and secret\n6. `$ cd ios` or `$ cd macos`\n7. `$ pod install`\n8. `$ open Runner.xcworkspace`\n9. Click on Runner on the left, then Signing \u0026 Capabilities, then choose your personal team as the Team\n10. Change the bundle identifier to something unique; you can just append your username\n11. At the top left, choose your device as the target device\n12. Click run!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnrubin29%2Ffinale","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnrubin29%2Ffinale","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnrubin29%2Ffinale/lists"}