$ show simplezhli/flutter_deer
This repository is a comprehensive Flutter learning project that simulates an e-commerce management system (merchant order, goods, statistics, shop settings, account/withdrawal). It showcases a wide array of Flutter techniques: MVP architecture with a base presenter pattern, provider state management, custom animations (Lottie, ripple, scratch card), custom chart widgets (bezier and pie charts), complex scrolling (NestedScrollView, custom scroll view), dark mode, localization (English/Chinese), QR code scanning, image picking, AMap integration, and more. The application contains multiple modules connected via fluro routing, with Dio for networking (targeting a mock GitHub API). While the codebase demonstrates many patterns and includes a significant test suite (unit, integration, accessibility), it is primarily a personal learning project and contains several signs of incomplete migration, mock-only behaviors, workarounds, and copied/vendored code. As such, it serves as a rich educational reference for Flutter development but is not production-ready without refinement.
The LLM identified 2 files worth highlighting for reuse:
A self-contained, configurable BezierChart widget that supports multiple lines, date scaling (hour, day, week, month, year), data aggregation (sum, average, count, min, max), pinch-to-zoom, long-press tooltip, and custom footer/bubble builders. It is built with CustomPainter and a custom horizontal scroll view. Despite some tautological asserts and commented-out code, it is a sophisticated, reusable chart component that could be extracted into a separate package with minimal modification.
A generic state layout widget that displays loading, empty, error, and content states. It provides a clean separation of UI states and is commonly used across pages. The widget is parameterized with state enums and custom child builders, making it easily reusable in any Flutter project to manage common screen states without coupling to business logic.