flutter_models_provider
Modelos de datos y Environment para Aplicaciones Flutter.
Instalación
Agrega el paquete a tu archivo pubspec.yaml:
dependencies:
flutter_models_provider: ^1.0.2
Luego ejecuta:
flutter pub get
Características
Este paquete proporciona modelos de datos reutilizables para aplicaciones Flutter:
- EnvironmentApiRest: Maneja las propiedades predeterminadas para comunicación con APIs REST
- ColeccionBase: Clase abstracta que define la estructura común para modelos ObjectBox
- LatLngModel: Modelo para administrar valores geográficos (latitud y longitud)
- PaginadoModel: Manejo de paginación de consultas
- QueryResponseModel: Modelo estandarizado para respuestas del servidor
- UploadRecivedModel: Modelo para carga de archivos
- Modelos ObjectBox: Soporte para ColeccionObjBox y sus variantes (1-5)
Uso
import 'package:flutter_models_provider/flutter_models_provider.dart';
// Usar EnvironmentApiRest para configuración de API
final env = EnvironmentApiRest(
dataOK: 'success',
dataNOK: 'error',
);
// Usar QueryResponseModel para respuestas del servidor
final response = QueryResponseModel(
inStatus: 200,
msgStatus: 'OK',
data: {'key': 'value'},
);
// Usar LatLngModel para coordenadas geográficas
final location = LatLngModel(
latitud: 40.7128,
longitud: -74.0060,
);
// Usar PaginadoModel para paginación
final paginado = PaginadoModel(
pagina: 1,
limite: 20,
total: 100,
);
Arquitectura del Proyecto
Este proyecto está diseñado para trabajar con diferentes ramas según el entorno:
- main/release: Ramas de producción sin dependencias de ObjectBox
- developer: Rama de desarrollo con soporte completo para ObjectBox
Uso con ObjectBox
En la rama developer, los modelos ColeccionObjBox incluyen decoradores para integración con ObjectBox:
// Los archivos objectbox.g.dart y objectbox-model.json se generan con:
dart run build_runner build
Licencia
MIT License - ver el archivo LICENSE para más detalles.
Contribuciones
Las contribuciones son bienvenidas. Por favor, abre un issue o pull request en el repositorio de GitHub.
Libraries
- flutter_models_provider
- global/environment
- model/campo_esquema_model
- model/coleccion_base_model
- model/latlong_model
- model/objectbox/coleccion_objectbox_1_model
- model/objectbox/coleccion_objectbox_2_model
- model/objectbox/coleccion_objectbox_3_model
- model/objectbox/coleccion_objectbox_4_model
- model/objectbox/coleccion_objectbox_5_model
- model/objectbox/coleccion_objectbox_model
- model/paginado_model
- model/query_response_model
- model/upload_file_recived_model