- Android - minimum SDK Version 16 or jelly bean
- iOS - minimum os version 9
- User can see song list
- User can search song by typing artist name
- User can see which song is currently playing
- Users can manage music controls to play songs or stop songs, besides that users can also select the next song or the previous song
- Install flutter, https://docs.flutter.dev/get-started/install
- Add sdk flutter to android studio
- Install plugin in android studio
- Flutter
- Dart
- Bloc
- RxBloc
- Create new flutter project
- Add all required dependencies in pubspec.yaml file
in this project , we need :
- rx_bloc : a set flutter packages that help implement the bloc design patter using the power of reactive streams
- rx_bloc_test : that facilitates implementing the unit tests for our BloCs
- flutter_rx_bloc : that exposes your reactive BloCs to the UI Layer.
- rx_bloc_generator : that boosts development efficiency by making your BloCs zero-boilerplate.
- build_runner : provides a concrete way of generating files using Dart code, outside of tools like pub
- equatable : helps to implement value based equality without needing to explicitly override
- dio : a powerful Http client for Dart, which supports Interceptors, FormData, Request Cancellation, File Downloading, Timeout etc
- provider : a wrapper around InheritedWidget to make them easier to use and more reusable.
- audioplayers : a Flutter plugin to play multiple audio files simultaneously
- Create code
- Create unit test
- Build app
- Open terminal and type "flutter run"
- Or run app using button run in android studio or visual studio code
- Deploy the app
- Change version / build number in pubspec.yaml if needed
- Build app
- Android / APK : Open terminal and type "flutter build apk"
- ios / IPA : Open Xcode, choose menu product -> archive