https://github.com/hawkkiller/pokemon
https://github.com/hawkkiller/pokemon
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/hawkkiller/pokemon
- Owner: hawkkiller
- Created: 2024-02-08T10:06:03.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-22T07:50:41.000Z (almost 2 years ago)
- Last Synced: 2024-10-12T05:43:04.498Z (over 1 year ago)
- Language: Dart
- Size: 116 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# Pokemon
I used my [Sizzle Starter](https://github.com/hawkkiller/sizzle_starter) template to create this project.
In order to run the following dart defines should be provided:
- --dart-define=BASE_URL="..."
Core stuff:
- go_router and go_router_builder for routing
- sizzle_starter as the template
- bloc for state management
Implemented features:
- pokemon list with grid and linear representations
- pokemon details with 404 if not found
- carousel for pokemon images with support for left and right arrows and overlay
Additional features:
- Dark / Light mode
- "Adaptive" design, so that it looks good on both mobile and desktop
Interesting stuff:
- I primarily used Material 3 components, styles and colors
- I didn't use any packages for dependency injection / creation. I created simple Composition Root where I instantiate the dependencies. This gives me full control over the creation of objects, their dependencies and it is runtime-safe.
- I ćreated PokemonsScope that contains all the logic for the application. It uses bloc under the hood and manages its lifecycle. Screens depend on this scope.