A learning project using Flutter and the PokemonAPI
- load pokemon from Gen I-IV
- randomized each load
- save to your party
- clear party
- expand learning into keys, providers, builders, state management
- add automated testing for widgets and interactions
- tap individual pokemon to clear from list
- add in loading skeleton when fetching data
- maintain app data when closing/relaunching app
- publish on mobile app stores
- https://shorebird.dev/
- semantic-release/semantic-release#2469
- https://github.com/flutter/flutter/blob/master/.gitignore
- https://pokeapi.co/docs/v2
- https://github.com/Solido/awesome-flutter
- https://www.youtube.com/watch?v=yLtpMqvMgdY
- https://api.flutter.dev/flutter/material/Icons-class.html
- https://stackoverflow.com/questions/47423297/how-can-i-add-a-border-to-a-widget-in-flutter
- https://stackoverflow.com/questions/66856094/cached-network-image-does-not-show-progress-indicator-when-image-is-loading
- https://stackoverflow.com/questions/71735947/flutter-how-to-delay-a-function-for-some-seconds
- https://stackoverflow.com/questions/43928702/how-to-change-the-application-launcher-icon-on-flutter
- https://docs.flutter.dev/cookbook/navigation/passing-data
- https://www.flutterclutter.dev/flutter/tutorials/2023-04-08-how-to-use-keys/
- https://medium.com/@lazy_mind/how-to-pass-a-data-between-screens-in-flutter-from-basic-to-advance-in-dart-9f69f0ee998e
- https://medium.com/flutter-community/flutter-layout-cheat-sheet-5363348d037e
- closed pokeball icon - Pokemon icons created by Those Icons - Flaticon
- retry icon - Refresh icons created by Freepik - Flaticon
- open pokeball icon - Pokeball icons created by Shahzama Ahmad - Flaticon
- hat - Ash icons created by Shahzama Ahmad - Flaticon
- logic to check caught pokemon is not 100%. Duplicate pokemmon can be caught
- other than gifs/images, all other network data is not cached
- gifs/images are cached on device, enabling quicker rendering on subsequent loads
In ./android/app/src/main/AndroidManifest.xml
, add <uses-permission android:name="android.permission.INTERNET"/>
to allow release builds to use internet on device.
- edit values in
pubspec.yaml
underneathflutter_launcher_icons
& save - run
flutter pub run flutter_launcher_icons