Flutter Challenge App es una aplicación que te permite explorar productos desde una API, ver los detalles de cada producto y navegar sin problemas entre pantallas.
- Explora Productos: Navega a través de una amplia colección de productos, con soporte para paginación y scroll infinito.
- Detalles del Producto: Obtén información detallada sobre cada producto, incluyendo precio, descripción, imágenes y reseñas de usuarios.
- Navegación Simple: Navega fácilmente desde la lista de productos a la página de detalles de cualquier producto con un toque.
- Pull-to-Refresh: Actualiza la lista de productos con un gesto de "pull-to-refresh".
- Renderización Dinámica: Mejora la experiencia de usuario con transiciones suaves usando el widget
Hero
.
Sigue estos pasos para configurar y ejecutar la aplicación Flutter en tu entorno de desarrollo local.
Versión utilizada en el proyecto:
- Flutter 3.13.9
- Dart 3.1.5
- DevTools 2.25.0
- Clona el proyecto en tu máquina local:
git clone <URL_DEL_REPOSITORIO>
cd nombre-del-proyecto
- Instala las dependencias del proyecto ejecutando el siguiente comando:
flutter pub get
Con tu entorno de desarrollo configurado (emulador o dispositivo físico conectado), puedes ejecutar la aplicación usando los siguientes comandos:
- Para Android:
flutter run
- Para iOS (solo en macOS):
flutter run
- Especificar el dispositivo:
Si tienes varios dispositivos conectados, puedes especificar el dispositivo usando:
flutter run -d <device_id>
Para listar los dispositivos disponibles:
flutter devices
El proyecto cuenta con pruebas de widgets y unitarias para asegurar la calidad de la aplicación. Para ejecutar las pruebas, usa el siguiente comando:
flutter test
- Para Android (APK):
flutter build apk --release
- Para iOS (IPA) (solo en macOS):
flutter build ios --release
- Implementar Go Router: Para mejorar la navegación dentro de la aplicación.
- Implementar inyección de dependencias: Para mejorar la modularidad y mantenibilidad del código.
- Recordar productos favoritos: Implementar la funcionalidad de favoritos para recordar las preferencias de los usuarios.
- Sección de Categorias: Implementar una lista seleccionable de las categorias disponibles.