piiicks
Piiicks es una aplicación de comercio electrónico de Flutter, meticulosamente diseñada con una arquitectura limpia e impulsada por la eficiente administración del estado BLoC que garantiza escalabilidad, mantenibilidad y rendimiento óptimo. Sumérjase en una experiencia de codificación perfecta con una interfaz elegante y funciones sólidas diseñadas para mejorar el proceso de compra en línea.
Estructura del directorio.
- biblioteca
- main.dart: Punto de entrada de la aplicación.
- aplicación ──bloques/cubits: Alberga las clases BLoC (Business Logic Component) o Cubit responsables de gestionar el estado de la aplicación.
- núcleo: contiene funcionalidades y utilidades principales compartidas en toda la aplicación.
- configs: contiene archivos de configuración para el proyecto.
- di: Configuración de inyección de dependencias para gestionar dependencias y servicios.
- datos: Gestiona fuentes de datos, repositorios y modelos de datos.
- dominio: define las entidades del dominio, los casos de uso y las interfaces.
- presentación ──pantallas/widgets: contiene componentes de interfaz de usuario, pantallas y widgets para la aplicación.
Características
- Arquitectura limpia: garantice una arquitectura modular y escalable para una mantenibilidad a largo plazo.
- Gestión de estado BLoC: gestión de estado eficiente para una experiencia de usuario fluida y predecible.
Interfaz de usuario
- Pantalla de producto: visualización de productos fácil de usar para una navegación sin esfuerzo.
- Categorías: navegación fluida a través de varias categorías de productos.
- Detalles del producto: información detallada para una visión completa de los productos.
- Funcionalidad de búsqueda: función de búsqueda sólida para un descubrimiento rápido de productos.
- Resultados de búsqueda: resultados de búsqueda claros y relevantes para comodidad del usuario.
- Pantalla de inicio: escaparate atractivo de productos y categorías destacados.
- Opciones de filtro: opciones intuitivas de filtrado de productos para una experiencia de compra personalizada.
- Pantalla de bienvenida: cautivadora pantalla de carga inicial que establece el tono de la aplicación.
- Direcciones: administre y edite sin esfuerzo las direcciones de los usuarios para un procesamiento de pedidos sin problemas.
- Paginación: implemente la paginación para una carga eficiente de grandes conjuntos de datos, garantizando una experiencia de usuario más fluida.
Interacción del usuario
- Ordenar productos: opciones para ordenar productos según criterios como el precio.
- Notificaciones: mantenga a los usuarios informados con actualizaciones sobre el estado del pedido y más.
Gestión de usuarios
- Iniciar sesión/Registrarse: autenticación de usuario segura para una experiencia personalizada.
- Carrito de compras: Gestión fluida e intuitiva de los artículos seleccionados antes de la compra.
- Perfil de usuario: sección dedicada para administrar direcciones, ver el historial de pedidos y personalizar preferencias.
- Gestión de pedidos: permite al usuario realizar pedidos y mostrar diferentes pantallas de resultados de pedidos según el estado del pedido.
Funciones adicionales
- Optimización de carga y almacenamiento en caché de imágenes: utilice el paquete
cached_network_image
para una carga y almacenamiento en caché eficientes de imágenes de red, mejorando el rendimiento. - Compatibilidad con SVG: aproveche el paquete
flutter_svg
para admitir imágenes SVG, proporcionando una interfaz de usuario escalable y nítida. - Almacenamiento en caché de datos: utilice el
shared_preferences
para almacenar en caché pequeñas cantidades de datos, mejorando la experiencia del usuario al mantener ciertos estados. - Autenticación y almacenamiento seguro: implemente la autenticación de usuario segura con el paquete
flutter_secure_storage
, garantizando que los datos confidenciales del usuario se almacenen de forma segura. - Interfaz de usuario con estado con efecto brillante: mejore la interfaz de usuario incorporando el efecto brillante usando el paquete
shimmer
, brindando una experiencia de carga pulida. - Indicadores de página dinámicos: implemente indicadores de página dinámicos utilizando el paquete
dots_indicator
, proporcionando señales visuales para los usuarios cuando navegan por diferentes pantallas. - Solicitudes HTTP e integración de API: aproveche el paquete
http
para realizar solicitudes HTTP e integre perfectamente con API externas para recuperar y actualizar datos. - Verificación de conectividad de red: utilice el paquete
internet_connection_checker
para garantizar una experiencia de usuario fluida al verificar y manejar la conectividad de red. - Inyección de dependencias: aproveche el paquete
get_it
para una inyección de dependencias eficiente, mejorando la capacidad de mantenimiento del código y administrando las dependencias de manera efectiva. - Principios de programación funcional: explore e implemente principios de programación funcional del paquete
dartz
, mejorando la claridad del código y el manejo de errores. - Compartir productos: permita a los usuarios compartir detalles de productos utilizando el paquete
share_plus
para compartirlos sin problemas en las redes sociales y otras plataformas. - Pantalla de contacto con el iniciador de URL: utilice el paquete
url_launcher
para abrir la pantalla de contacto, lo que permite a los usuarios interactuar con enlaces externos como correos electrónicos o números de teléfono. - Lista de deseos con Get Storage: implemente una función de lista de deseos utilizando el paquete
get_storage
para guardar y recuperar productos, brindando a los usuarios una experiencia de lista de deseos personalizada. - Compartir productos con captura de pantalla: permita a los usuarios compartir detalles del producto con una captura de pantalla utilizando el paquete
screenshot
, mejorando las capacidades para compartir de su aplicación.
Dependencias
environment :
sdk : ' >=3.0.5 <4.0.0 '
dependencies :
flutter :
sdk : flutter
# the last versions.
equatable :
# Package for handling value equality without explicit overrides
dartz :
# Functional programming library for Dart
shared_preferences :
# Plugin for reading and writing key-value pairs to persistent storage
http :
# Package for making HTTP requests
internet_connection_checker :
# Library for checking internet connectivity
flutter_bloc :
# State management library for Flutter applications
get_it :
# Simple service locator for Dart and Flutter projects
shimmer :
# Package for adding shimmering effect to Flutter applications
cached_network_image :
# Library for loading and caching network images
flutter_svg :
# Library for rendering SVG files in Flutter applications
dots_indicator :
# Customizable dots indicator for PageView in Flutter
flutter_secure_storage :
# Secure storage plugin for Flutter
photo_view :
# Package for displaying images in Flutter with zooming and panning capabilities
dotted_border :
# Package for creating dotted borders in Flutter
flutter_local_notifications :
# Package for displaying local notifications in Flutter applications
share_plus :
# Package for sharing content on social media and more
get_storage :
# Persistent storage for Flutter, allowing key-value pair storage
screenshot :
# Flutter plugin for taking screenshots of widgets
path_provider :
# Plugin for interacting with the file system, including getting the app's temporary and application support directories
url_launcher :
# Flutter plugin for launching URLs, emails, making phone calls, and sending SMS.
flutter_phoenix :
# Easily restart your application from scratch, losing any previous state.
Descargar aplicación
Pantallas.
Hecho:
- Productos.
- Categorías.
- Detalles del producto.
- Buscar.
- Resultado de la búsqueda.
- Hogar.
- Filtrar.
- Acceso.
- Inscribirse.
- Chapoteo.
- Carro.
- Perfil.
- Direcciones.
- Agregar/Editar dirección.
- Ordenar productos.
- Términos y condiciones.
- Lista de deseos.
- Contáctenos.
- Verificar.
- Orden exitosa.
- Fallo del pedido.
- Órdenes.
- Notificaciones.
Para más capturas de pantalla aquí
Hacer:
Población.
iniciar sesión.mp4
carrito-de-pedidos.mp4
categorias-notificaciones-filtro-perfil.mp4
buscar.mp4
- Por lo general, este caso ocurrirá si abre la aplicación por primera vez sin conexión a Internet. Si no es la primera vez, la aplicación utilizará datos almacenados en caché.
error-phoenix-refresh.mp4
Empezando
- Clona el repositorio.
- Navegue hasta el directorio del proyecto.
- Ejecute
flutter pub get
las dependencias. - Abra el proyecto en su IDE de Flutter preferido.
- Ejecute la aplicación en el emulador o dispositivo físico que desee.