# simplezhli/flutter_deer

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/simplezhli-flutter-deer).**

8,580 stars · 1,756 forks · Dart · Apache-2.0

## Links

- GitHub: https://github.com/simplezhli/flutter_deer
- Homepage: https://simplezhli.github.io/flutter_deer/
- awesome-repositories: https://awesome-repositories.com/repository/simplezhli-flutter-deer.md

## Topics

`amap` `android` `chart` `citypicker` `customview` `dart` `dio` `flutter` `flutter-app` `flutter-ui` `flutter-web` `flutter-widget` `ios` `popup-window` `provider` `rxdart` `sliver` `sticky-headers` `test-drive`

## Description

Flutter Deer is a Flutter practice project that demonstrates realistic application patterns across Android and iOS. It showcases how to structure a Flutter app with modular routing, reactive state management using Provider, and a centralized network layer built with Dio for structured API calls and error handling. The project also includes integration and accessibility testing that simulates real user interactions to verify UI behavior and screen-reader compatibility.

The project differentiates itself by providing a comprehensive showcase of custom UI components and interactions, including cascading pickers, custom password keyboards, scratch card reveal effects, and animated menu transitions. It demonstrates complex scrollable layouts using Sliver widgets, supports dark mode theming, and includes localization via ARB-generated Dart bindings for runtime locale switching. Additional capabilities include QR code scanning, map location picking, Lottie animation playback, and chart rendering for data visualization.

The project covers a broad range of Flutter development areas including input capture components like verification code entry and city list selection, dialog and popup displays, pull-to-refresh and load-more patterns, and gesture-driven effects such as swipe-to-delete and ripple water animations. It also includes an app update check mechanism that compares installed and remote versions.

## Tags

### Mobile Development

- [Flutter](https://awesome-repositories.com/f/mobile-development/cross-platform-frameworks/flutter.md) — A comprehensive Flutter practice project that demonstrates realistic UI patterns, state management, and integration testing.
- [UI Component Demonstrations](https://awesome-repositories.com/f/mobile-development/cross-platform-frameworks/flutter/ui-component-demonstrations.md) — Showcases custom widgets like cascading pickers, password keyboards, and scratch cards built with Flutter.
- [UI Component Demos](https://awesome-repositories.com/f/mobile-development/cross-platform-frameworks/flutter/ui-component-demos.md) — Demonstrates custom Flutter widgets and animations including slivers, dialogs, cascading pickers, and swipe-to-delete interactions.
- [Localization & Theming](https://awesome-repositories.com/f/mobile-development/cross-platform-frameworks/flutter/localization-theming.md) — Internationalizes app text with the intl library and supports dark mode theme switching in Flutter.
- [Flutter Plugin Integrations](https://awesome-repositories.com/f/mobile-development/native-modules-bridges/plugin-architectures/flutter-plugin-integrations.md) — Accesses device features like QR scanning and map picking through Flutter plugins, bridging Dart code to platform-specific APIs.

### Software Engineering & Architecture

- [Widget Tree Providers](https://awesome-repositories.com/f/software-engineering-architecture/dependency-injection-providers/widget-tree-providers.md) — Manages application state by injecting data models into the widget tree via Provider for reactive updates.
- [Dio-Encapsulated Network Layers](https://awesome-repositories.com/f/software-engineering-architecture/network-layering-concepts/network-request-clients/dio-encapsulated-network-layers.md) — Wraps HTTP requests in a centralized Dio client with interceptors and error handling, separating network logic from UI code.
- [ARB-Generated Dart Bindings](https://awesome-repositories.com/f/software-engineering-architecture/localization/internationalization-libraries/arb-generated-dart-bindings.md) — Localizes UI text by generating Dart bindings from ARB files with the intl library, switching locale at runtime.

### Testing & Quality Assurance

- [HTTP Request Clients](https://awesome-repositories.com/f/testing-quality-assurance/http-request-clients.md) — Encapsulates HTTP requests with Dio for structured API calls and centralized error handling. ([source](https://github.com/simplezhli/flutter_deer))
- [Flutter Testing Utilities](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/e2e-integration-testing/mobile-end-to-end-testing/flutter-testing-utilities.md) — Ships automated integration and accessibility tests that simulate real user interactions across the full app stack.
- [Gesture-Driven Integration Tests](https://awesome-repositories.com/f/testing-quality-assurance/integration-testing/gesture-driven-integration-tests.md) — Runs automated integration and accessibility tests that simulate user gestures across the full app stack.
- [Flutter Accessibility Test Integrations](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/e2e-integration-testing/mobile-end-to-end-testing/flutter-testing-utilities/flutter-accessibility-test-integrations.md) — Runs automated integration and accessibility tests to verify UI behavior and screen-reader compatibility in Flutter apps.

### User Interface & Experience

- [Native App Localizations](https://awesome-repositories.com/f/user-interface-experience/mobile-interface-localizations/native-app-localizations.md) — Adapts text, dates, and formatting to the user's locale using ARB-generated Dart bindings for runtime switching. ([source](https://github.com/simplezhli/flutter_deer))
- [Modular Route Registrations](https://awesome-repositories.com/f/user-interface-experience/navigation-routing/modular-route-registrations.md) — Organizes navigation routes into separate modules using the fluro library for structured routing. ([source](https://github.com/simplezhli/flutter_deer/blob/master/README-EN.md))
- [Calendars](https://awesome-repositories.com/f/user-interface-experience/calendars.md) — Shows a custom calendar widget for date selection without complex scheduling features. ([source](https://cdn.jsdelivr.net/gh/simplezhli/flutter_deer@master/README.md))
- [Sticky Section Headings](https://awesome-repositories.com/f/user-interface-experience/content-dividers/content-sectioning/viewport-snapped-sections/sticky-section-headings.md) — Keeps section headers fixed at the top of the scroll view while content scrolls beneath. ([source](https://github.com/simplezhli/flutter_deer))
- [Data-Attribute Dark Mode Toggles](https://awesome-repositories.com/f/user-interface-experience/dark-mode-support/data-attribute-dark-mode-toggles.md) — Implements a dark mode toggle that switches the entire app interface between light and dark color schemes. ([source](https://cdn.jsdelivr.net/gh/simplezhli/flutter_deer@master/README.md))
- [Custom Dialog Overlays](https://awesome-repositories.com/f/user-interface-experience/debug-display-customizations/custom-dialog-overlays.md) — Ships custom modal dialogs with configurable content, buttons, and styling for user interaction. ([source](https://cdn.jsdelivr.net/gh/simplezhli/flutter_deer@master/README.md))
- [Verification Code Inputs](https://awesome-repositories.com/f/user-interface-experience/input-field-enhancements/input-field-initializers/styled-input-fields/verification-code-inputs.md) — Provides a row of individual input fields for entering a multi-digit code with auto-advancing focus. ([source](https://github.com/simplezhli/flutter_deer))
- [Map Pickers](https://awesome-repositories.com/f/user-interface-experience/map-pickers.md) — Integrates AMap to let users pick a geographic location on an interactive map. ([source](https://github.com/simplezhli/flutter_deer))
- [Custom Keyboards](https://awesome-repositories.com/f/user-interface-experience/password-input-fields/custom-keyboards.md) — Provides a custom numeric or alphanumeric keypad designed specifically for password input fields. ([source](https://github.com/simplezhli/flutter_deer))
- [RecyclerView Pull-to-Refresh Lists](https://awesome-repositories.com/f/user-interface-experience/pull-to-refresh-components/recyclerview-pull-to-refresh-lists.md) — Implements pull-to-refresh and load-more functionality for scrollable lists. ([source](https://cdn.jsdelivr.net/gh/simplezhli/flutter_deer@master/README.md))
- [Sliver Scroll Architectures](https://awesome-repositories.com/f/user-interface-experience/scroll-areas/scroll-orchestrators/nested-scroll-coordination/sliver-scroll-architectures.md) — Builds complex scrollable layouts using Sliver widgets to compose sticky headers, parallax, and nested scrolling effects.
- [City List Selectors](https://awesome-repositories.com/f/user-interface-experience/selection-lists/searchable-select-inputs/city-list-selectors.md) — Presents a searchable, alphabetically indexed city list for location selection. ([source](https://github.com/simplezhli/flutter_deer))
- [List Item Swipe-to-Dismiss](https://awesome-repositories.com/f/user-interface-experience/toast-notifications/swipe-to-dismiss-gestures/list-item-swipe-to-dismiss.md) — Reveals a delete action when swiping a list item horizontally and removes the item on confirmation. ([source](https://cdn.jsdelivr.net/gh/simplezhli/flutter_deer@master/README.md))
- [Scrollable View Layout Systems](https://awesome-repositories.com/f/user-interface-experience/view-layouts/scrollable-view-layout-systems.md) — Combines Sliver widgets to create headers, lists, and grids that scroll together with synchronized effects. ([source](https://cdn.jsdelivr.net/gh/simplezhli/flutter_deer@master/README.md))
- [Cascading Selections](https://awesome-repositories.com/f/user-interface-experience/wheel-pickers/cascading-selections.md) — Builds a three-level cascading picker for hierarchical data like province-city-district. ([source](https://github.com/simplezhli/flutter_deer/blob/master/README-EN.md))
- [Floating UI Overlays](https://awesome-repositories.com/f/user-interface-experience/window-based-overlay-rendering/floating-ui-overlays.md) — Displays floating overlays anchored to UI elements for menus and quick actions. ([source](https://github.com/simplezhli/flutter_deer))

### Web Development

- [Flutter HTTP API Examples](https://awesome-repositories.com/f/web-development/http-api-integrations/flutter-http-api-examples.md) — Demonstrates structured HTTP API calls and error handling using the Dio library within a Flutter application.
- [Dio HTTP Request Handling](https://awesome-repositories.com/f/web-development/http-api-integrations/flutter-http-api-examples/dio-http-request-handling.md) — Encapsulates HTTP requests with the Dio library for structured API calls and error handling in Flutter applications.
- [Intercepting HTTP Clients](https://awesome-repositories.com/f/web-development/http-request-interceptors/intercepting-http-clients.md) — Wraps HTTP requests in a centralized Dio client with interceptors for error handling and response management. ([source](https://cdn.jsdelivr.net/gh/simplezhli/flutter_deer@master/README.md))
- [Flutter State Management Examples](https://awesome-repositories.com/f/web-development/state-management-libraries/flutter-state-management-examples.md) — Manages application state reactively across widgets using the Provider library in a Flutter project.
- [State Management Providers](https://awesome-repositories.com/f/web-development/state-management-providers.md) — Manages application state by injecting data models into the widget tree via Provider for reactive updates. ([source](https://cdn.jsdelivr.net/gh/simplezhli/flutter_deer@master/README.md))
- [Fluro Modular Routing](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/routing-request-handling/modular-routing-systems/fluro-modular-routing.md) — Registers navigation routes in isolated modules using the fluro library, allowing each feature to define its own path mappings.
- [Fluro Route Registration](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/routing-request-handling/modular-routing-systems/fluro-route-registration.md) — Registers navigation routes in isolated modules using the fluro library, allowing each feature to define its own path mappings.
- [ARB File Localization](https://awesome-repositories.com/f/web-development/internationalization-localization/arb-file-localization.md) — Generates Dart bindings from ARB files for runtime locale switching without manual string management.

### Part of an Awesome List

- [Camera QR Code Scanners](https://awesome-repositories.com/f/awesome-lists/devtools/qr-codes/camera-qr-code-scanners.md) — Activates the device camera to read QR codes and returns the decoded data for further processing. ([source](https://github.com/simplezhli/flutter_deer/blob/master/README-EN.md))
- [Menu Transition Animations](https://awesome-repositories.com/f/awesome-lists/media/animation-transitions/ui-transition-animations/menu-transition-animations.md) — Animates menu switches with effects like circular expansion and 3D flip for visual polish. ([source](https://cdn.jsdelivr.net/gh/simplezhli/flutter_deer@master/README.md))

### Data & Databases

- [Cascading City Pickers](https://awesome-repositories.com/f/data-databases/city-data/cascading-city-pickers.md) — Provides a three-level cascading city picker for hierarchical location selection. ([source](https://github.com/simplezhli/flutter_deer))

### Graphics & Multimedia

- [Lottie Players](https://awesome-repositories.com/f/graphics-multimedia/lottie-players.md) — Renders Lottie JSON animations for lightweight, scalable motion graphics in a Flutter showcase. ([source](https://github.com/simplezhli/flutter_deer))
