Skip to content

Latest commit

 

History

History
118 lines (87 loc) · 5.08 KB

File metadata and controls

118 lines (87 loc) · 5.08 KB
Banner EaToo

Ecommerce EaToo Swift

Food Delivery Experience. Redefined.
Aplicación nativa iOS desarrollada con SwiftUI y Clean Architecture.

Ver Demo · Funcionalidades · Instalación

iOS 15+ Swift 5 SwiftUI PHP MySQL


Vistas de la App

 Sobre el Proyecto

EaToo es una aplicación de delivery móvil moderna y robusta. Construida enteramente en SwiftUI, la app demuestra el uso profesional del patrón MVVM, concurrencia estructurada (async/await) y geolocalización avanzada.

La aplicación funciona como un cliente "Full Stack", consumiendo una API RESTful propia alojada en servidores de Alwaysdata, lo que permite gestionar usuarios, restaurantes, pedidos y menús dinámicos en tiempo real.


✨ Funcionalidades Principales

📍 Experiencia de Geolocalización

Integración profunda con Google Maps SDK (v10.6.0) para ofrecer una experiencia visual inmersiva:

  • Radar de Proximidad: Visualización de radio de alcance de 500m mediante GMSCircle.
  • Marcadores Dinámicos: Los pines del mapa se renderizan en tiempo real mostrando la foto de cada restaurante usando UIGraphicsImageRenderer.
  • Rastreo en Vivo: Seguimiento preciso de la ubicación del usuario mediante CoreLocation.

🛍️ Gestión de Pedidos & E-Commerce

  • Carrito Inteligente: Lógica de negocio local (GestorCarrito) para calcular totales, impuestos y validar items.
  • Persistencia Híbrida: Uso de UserDefaults para historial local rápido y sincronización con base de datos remota MySQL para seguridad.
  • Checkout Flow: Pasarela de pago simulada con validación de métodos y confirmación de órdenes.

🔐 Panel Administrativo (CMS Móvil)

Un sistema de gestión de contenido completo integrado en la propia app:

  • CRUD Completo: Crear, leer, actualizar y eliminar restaurantes y productos.
  • Gestión de Usuarios: Administración de perfiles y permisos directamente desde la interfaz móvil.
  • Networking Asíncrono: Todas las operaciones de escritura utilizan async/await con URLSession para una experiencia fluida sin bloqueos.

🛠️ Especificaciones Técnicas

Arquitectura & Diseño

El proyecto sigue una arquitectura MVVM (Model-View-ViewModel) estricta para separar la lógica de negocio de la interfaz de usuario, facilitando la escalabilidad y el testing.

  • Tipografía: Sistema de fuentes personalizado utilizando la familia Inter (Regular, Bold, Light) inyectado globalmente vía EnvironmentValues.
  • UI Components: Uso de ViewModifier personalizados para estandarizar botones (PillButton) y tarjetas.

Stack Tecnológico

Componente Tecnología Descripción
Mobile Client SwiftUI 3 / Swift 5 Desarrollo 100% nativo.
Maps Engine Google Maps SDK Versión 10.6.0 gestionada vía SPM.
Backend PHP 8 / MySQL API REST hospedada en alwaysdata.net.
Networking URLSession Peticiones multipart/form-data y decodificación JSON (Codable).

🚀 Instalación y Despliegue

Sigue estos pasos para ejecutar el proyecto en tu entorno local (macOS).

Prerrequisitos

  • Xcode 13.0+
  • iOS 15.0+

Pasos

  1. Clonar el repositorio

    git clone [https://github.com/tu-usuario/EaToo.git](https://github.com/tu-usuario/EaToo.git)
  2. Abrir el Proyecto Abre el archivo EaToo.xcodeproj. Xcode comenzará automáticamente a resolver los paquetes Swift (Google Maps SDK).

  3. Configuración de API Key Para que los mapas carguen correctamente, debes añadir tu propia API Key en AppDelegate.swift.

    // Ubicación: EaToo/Api/AppDelegate.swift
    GMSServices.provideAPIKey("TU_GOOGLE_MAPS_API_KEY")
  4. Compilar y Ejecutar Selecciona un simulador (ej. iPhone 14 Pro) y presiona Cmd + R.


Logo EaToo

Diseño basado en el estudio UI/UX:

Food Delivery App UI/UX Case Study