Volver a proyectos
Mobile

Sushi

App para iOS || SwiftUI con arquitectura MVVM

Swift
Sushi

🍣 Sushi App

Descripción

Sushi App es una aplicación simple que permite a los usuarios navegar por una lista de deliciosos sushi, seleccionar cualquiera de ellos y ver una página de detalles con la imagen, el nombre, y una descripción detallada. Además también permite añadir o eliminar sushi de la lista 🍱

🛠️ Tecnologías Utilizadas

  • SwiftUI: Framework moderno para construir la interfaz de usuario declarativa.
  • MVVM: Arquitectura utilizada para separar la lógica de negocio de la presentación.
  • SwiftData: Tecnología utilizada para la persistencia local de los datos de la aplicación.
  • PhotosPicker: Componente para permitir a los usuarios seleccionar imágenes desde su galería.

🚀 Funcionalidades

  • Lista de Sushi: Explora una lista de diferentes tipos de sushi con imágenes y nombres.
  • Detalles del Sushi: Al tocar un elemento de la lista, se accede a una vista de detalles con información completa sobre el sushi seleccionado.
  • Agregar Nuevo Sushi: Los usuarios pueden añadir nuevos elementos de sushi a la lista.
  • Eliminar Sushi: Los usuarios pueden eliminar un sushi de la lista desde la pantalla de detalle.
  • Galería: Explora imágenes ampliables de platos de Sushi a modo de inspiración.
  • About: El usuario puede conocer más acerca de la app y sus características.

📂 Estructura del Proyecto

  • App
    • SushiApp.swift: Punto de entrada de la aplicación.
  • Core: Carpeta que contiene las pantallas principales.
    • Main:
      • MainView.swift: Contiene el TabView para la barra inferior de navegación.
    • About:
      • AboutView.swift: Vista para mostrar información básica sobre la app al usuario.
    • AddSushi:
      • AddSushiView.swift: Vista para agregar un nuevo sushi.
      • AddSushiViewModel.swift: Lógica de negocio para manejar la adición de sushi.
    • Components:
      • ItemRow.swift: Componente reutilizable que muestra una imagen con un título.
      • FeatureView.swift: Componente reutilizable que muestra un icono con un título y descripción.
    • SushiDetail:
      • SushiDetailView.swift: Vista de detalles para un sushi.
      • SushiDetailViewModel.swift: Lógica de negocio para manejar la eliminación de sushi desde la vista de detalles.
    • SushiMenu:
      • SushiView.swift: Vista principal que muestra la lista de sushis.
      • SushiViewModel.swift: Lógica de negocio para manejar la lista de sushis.
    • Gallery:
      • GalleryView.swift: Vista que muestra un grid de imagenes seleccionables.
    • GalleryDetail:
      • GalleryDetailView.swift: Vista que muestra una imagen ampliada al seleccionarla en la galería.
  • Helpers
    • ImageHelper.swift: Proporciona funciones para cargar y guardar imágenes en el almacenamiento local.
  • Models
    • SushiItem.swift: Define el modelo de datos para un elemento de sushi.
  • Services
    • DataService.swift: Proporciona la lógica para interactuar con los datos utilizando SwiftData.

📸 Capturas de Pantalla

Sushi-Menu Sushi-Detail Add-Sushi Sushi-Gallery Gallery-Detail Sushi-About