Discover your favorites, remember forgotten gems and relive your musical history.
DiscoMize requires a Spotify account, and needs access to your playback data. DiscoMize is a client-only app and no data is stored or transmitted.
DiscoMize uses following Spotify Experiences:
- Authorization
- Get Users Top Tracks and Artists
- Get Recently Played tracks for user
- Universal Linking
DiscoMize uses Spotify's Implict Grant authorization, and does not store tokens locally. DiscoMize requires the following user permissions:
DiscoMize is developed using Flutter. The primary UI has been created using Cupertino Widgets, targetting iOS devices. The following plugins have been used:
- Cupertino Widgets - UI Design Elements
- http - Fetching data from Spotify Web API
- flutter_web_auth - Implicit Auth and Token Handling
- url_launcher - Deeplinking Song/Artist URIs with Spotify App
- flutter_launcher_icons - Quick Icon replacement environment-wide
- align_positioned - Creating beautiful Relative Layouts
Creating Spotify App
- Go to Spotify Developer Dashboard and create a new App.
- Add your preferred redirect URI (typically appname:/) in your Spotify App Settings.
- Grab the Client ID from Spotify App Settings - this will be added to ApiKeys.dart.
Local Environment and Build
- Set Up a local flutter environment, along with XCode.
- Clone the repository to your local system
- Remove private import and add your Client ID and Redirect URI to
ApiKeys.dart
- Select your emulator - Preferably iPhone 12 Pro Max
- Run the app in emulator with
flutter run
- Build the app for deployment with
flutter build ipa
, and deploy with XCode.
- Previewed.app - For Mockup Design
- Adobe Photoshop - For Icon Design
- Google Fonts - In-App Fonts