flutter_core_9s 0.0.3
flutter_core_9s: ^0.0.3 copied to clipboard
A reusable Flutter core package for mobile apps.
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