Este proyecto es una aplicación móvil desarrollada en Flutter que lista razas de gatos, utilizando una arquitectura limpia con manejo de estado a través de Riverpod. Está diseñada con la capacidad de tener una base de datos local para uso de cache, optimizando así el rendimiento y la experiencia del usuario.
A continuación, se detallan las librerías utilizadas en este proyecto:
- cached_network_image ^3.3.1: Utilizada para cargar y mostrar imágenes de gatos desde la red, con soporte para cache de imágenes. Pub.dev link
- dartz ^0.10.1: Proporciona estructuras de datos funcionales para manejar operaciones que pueden fallar o que son opcionales. Pub.dev link
- data_connection_checker_tv ^0.3.5-nullsafety: Verifica la conexión a Internet del dispositivo para garantizar que los datos se puedan cargar correctamente. Pub.dev link
- dio ^5.4.1: Un potente cliente HTTP para realizar solicitudes a APIs, utilizado en este proyecto para consumir el endpoint de razas de gatos. Pub.dev link
- equatable ^2.0.5: Facilita la comparación de objetos en Dart, usado para modelos de datos en la aplicación. Pub.dev link
- flutter_riverpod ^2.5.1: Maneja el estado de la aplicación de manera reactiva y eficiente, centralizando la lógica de negocio. Pub.dev link
- gap ^3.0.1: Proporciona un widget para añadir espacio entre los widgets de manera más intuitiva. Pub.dev link
- go_router ^13.2.1: Maneja la navegación y las rutas en la aplicación, permitiendo una navegación fluida y eficiente. Pub.dev link
- slang ^3.30.1 y slang_flutter ^3.30.0: Herramientas para internacionalización y localización, permitiendo soportar múltiples idiomas en la app. Slang | Slang Flutter
El proyecto sigue una arquitectura limpia, con manejo de estado a través de Riverpod. Esta estructura facilita el mantenimiento del código, mejora la testabilidad y permite una clara separación de responsabilidades. Además, se ha diseñado con la capacidad de tener una base de datos local para uso de cache, mejorando así la eficiencia y la experiencia de usuario en situaciones de baja conectividad.
Me gustaría mucho tener la oportunidad de formar parte de Pragma como desarrollador Flutter. Agradezco mucho la oportunidad de participar en este proceso de selección y espero poder contribuir con mis habilidades y experiencia al equipo.