A flutter project implementing themoviedb APIs using bloc.
-
Used for the basic implementation of BLoC architecture.
-
Comparision between multiple instances of Events and States is performed throught the
props
list provided by this package. -
Provides access to the on-device location APIs, allowing managing Location Permission and Service.
-
Uses on-device APIs to perform easy geocoding and reverse-geocoding.
-
dio:
HTTP networking client to perform API calls.
-
hive:
Local Database plugin. Uses
Box
es for data storage. -
Provides a cache manager used to Pre-Cache images.
-
Other Packages:
flutter_svg, google_fonts, cached_network_image and shimmer are used to help develop the App UI.
-
LoggingIngterceptor:
Works with Dio HTTP client to log API calls' Request and Responses for Easy Debugging.
-
DotsIndicator:
Works in conjunction with Now Playing movies list to display a page and index indicator.
-
NowPlayingClipper:
Uses a
Path
to clip it's child to draw a fancy shape.
- Performed an auto scroll after each page fetched for Now Playing section. This helped refresh the
DotsIndicator
state to display the correct digits while also providing for a good UX. - Pre-caching the first 2 images from Now Playing and Top Rated API Call responses for a smooth loading experience going into Home screen. 2 for each API because the first visible tiles for each List would be the first 2 elements.
- Opened a
Hive
Box soon as the app launches so Local Database can be accessed without any delays of operation. - flutter_launcher_icons for generating Launcher Icons.