my_package
A new Flutter project.
1. Cấu trúc source code
lib/
├── src/
│ ├── core/ # Chứa các utilities chung cho app
│ │ ├── utils/ # Utilities chung cho app
│ │ │ ├── app_log.dart # Log app
│ │ │ ├── app_settings.dart # Cấu hình app
│ │ │ ├── app_storages.dart # Quản lý lưu trữ (SharedPreferences/LocalStorage)
│ │ │ ├── app_utils.dart # Các function tiện ích chung
│ │ │ ├── observable_utils.dart # Các tiện ích cho Observable
│ │ ├── models/ # Các mô hình dữ liệu chung (BaseResponseModel, Failure, PaginationModel...)
│ │ │ ├── base_response_model.dart
│ │ │ ├── failure.dart
│ │ │ ├── pagination_model.dart
│ ├── views_new/ # Các màn hình mới của ứng dụng
│ │ ├── example/ # Ví dụ cụ thể về các màn hình, feature
│ │ │ ├── utils/ # Các utility cụ thể cho màn hình đó (ví dụ template_utils.dart)
│ │ │ ├── view_model/ # ViewModels, controllers cho màn hình
│ ├── repositories/ # Các Repository quản lý data, API calls
│ │ ├── base_repository_new.dart # Repository cơ bản bạn cung cấp ở trên
│ ├── services/ # Các dịch vụ API, HTTP Client (Dio, HTTP request)
│ │ ├── api_service.dart # Các lớp giúp bạn xử lý API request chung cho app
│ ├── enums/ # Các enum sử dụng trong app
│ │ ├── http_method_enum.dart # Enum cho các HTTP method (GET, POST, PUT, DELETE)
│ ├── shared_template/ # Các thư viện tái sử dụng chung
│ │ ├── models/ # Các model dùng chung
│ │ │ ├── request_upload_file_model.dart
│ │ ├── utils/ # Các utilities dùng chung cho nhiều phần của app
│ │ ├── enums/ # Các enum dùng chung
│ ├── main.dart # Entry point của ứng dụng Flutter
└── pubspec.yaml # Cấu hình dependencies của Flutter
## 2. Mô tả các thư mục chính:
- core/: Chứa các tiện ích (utilities) và cấu hình toàn cục cho ứng dụng như log, settings, lưu trữ dữ liệu (SharedPreferences, Hive), các công cụ tiện ích như observable_utils.dart, app_utils.dart.
- models/: Chứa các mô hình dữ liệu (data models) như BaseResponseModel, Failure, PaginationModel, và các mô hình khác dùng chung trong toàn bộ ứng dụng.
- views_new/: Thư mục này chứa các màn hình (screens) và các phần liên quan đến giao diện người dùng. Các view_model cho từng màn hình sẽ ở trong đây.
- repositories/: Chứa các repository như BaseRepositoryNew, nơi bạn xử lý các yêu cầu API, logic nghiệp vụ, và giao tiếp với data layer. Mỗi repository nên là một lớp riêng biệt.
- services/: Chứa các dịch vụ xử lý các kết nối API, các service liên quan đến HTTP Client. Ví dụ, bạn có thể tạo một lớp ApiService để gọi API.
- shared_template/: Đây là nơi bạn đặt các thư viện và phần dùng chung cho nhiều project khác nhau, như các mô hình request_upload_file_model.dart và http_method_enum.dart.
- enums/: Dành cho các Enum sử dụng toàn bộ dự án như HttpMethodEnum.
flutter pub publish --dry-run
Libraries
- core/components/index
- core/components/indicators/skeleton_loading
- core/repositories/index
- core/services/index
- core/state/index
- core/template_core/extend_views/example_confirmation/example_confirmation_cubit
- core/template_core/extend_views/example_selection/example_selection_cubit
- core/template_core/extend_views/schema_testing/schema_testing
- core/template_core/extend_views/schema_testing/schema_testing_cubit
- core/template_core/extend_views/schema_testing/views/create_view
- core/template_core/extend_views/schema_testing/views/detail_view
- core/template_core/extend_views/schema_testing/views/list_view
- core/template_core/extend_views/schema_testing/views/update_view
- core/template_core/extend_views/workflow/create_workflow_cubit
- core/template_core/extend_views/workflow/widgets/default_section
- core/template_core/extend_views/workflow/widgets/page_item
- core/template_core/extend_views/workflow/widgets/summary_step
- core/template_core/extend_views/workflow/workflow_cubit
- core/template_core/index
- core/template_core/utils/field_display_factory
- core/template_core/utils/field_form_factory
- core/template_core/views/create_view/create_cubit
- core/template_core/views/create_view/widgets/form_render
- core/template_core/views/delete_view/delete_cubit
- core/template_core/views/detail_view/detail_cubit
- core/template_core/views/list_view/list_cubit
- core/template_core/views/list_view/list_state
- core/template_core/views/list_view/widgets/detail_action_widget
- core/template_core/views/list_view/widgets/section_filter
- core/template_core/views/list_view/widgets/section_list_view
- core/template_core/views/list_view/widgets/tablet/example_tablet_view
- core/template_core/views/list_view/widgets/tablet/responsive_table
- core/template_core/widgets/view_fields/array_display
- core/template_core/widgets/view_fields/boolean_display
- core/template_core/widgets/view_fields/date_display
- core/template_core/widgets/view_fields/image_display
- core/template_core/widgets/view_fields/number_display
- core/template_core/widgets/view_fields/select_display
- core/template_core/widgets/view_fields/text_display
- core/theme/index
- core/utils/index
- flutter_core_9s