LoveCook es una aplicación moderna y elegante de recetas que te permite explorar y descubrir una amplia variedad de deliciosas opciones culinarias. Con una interfaz intuitiva y funciones avanzadas, LoveCook hace que cocinar sea una experiencia aún más placentera. La aplicación se conecta a la API de Recetas de TheMealDB para ofrecer una amplia gama de recetas organizadas por categorías.
- Todo el proyecto está desarrollado en SwiftUI.
- La aplicación utiliza autenticación con Firebase para la gestión de usuarios, lo que facilita la creación de cuentas y el inicio de sesión seguro.
- LoveCook ofrece tres modos de inicio de sesión:
- Inicio de sesión con email y contraseña.
- Inicio de sesión social con cuenta Apple.
- Inicio de sesión social con cuenta Google
(recomendado por la integración de datos de usuario y avatar)
.
- Persistencia local: Utiliza Core Data para el almacenamiento local de recetas favoritas.
- Persistencia remota: Utiliza Cloud Firestore para cargar imágenes de recetas personales del usuario en el servidor de Firebase.
- Se utiliza GridLayout para mostrar los diferentes listados de imágenes y categorías.
- Funcionalidad de gestos: Los usuarios pueden eliminar las recetas favoritas mediante gestos de deslizamiento lateral (swipe actions).
- Se pueden subir imágenes desde la Galería de Fotos del dispositivo a la base de datos.
La aplicación LoveCook sigue el patrón Clean Architecture y está organizada en varias capas:
- Data: Contiene la lógica para acceder y manipular los datos, el acceso a Cloud Firestore y CoreData.
- NetworkClient: Gestiona todas las operaciones de red, incluida la interacción con la API de Recetas.
- Mappers: Transforma los datos entre las capas de la aplicación.
- Entities: Define las entidades fundamentales de la aplicación.
- UseCases: Contiene casos de uso específicos de la aplicación.
- Features: Contiene todas las vistas de la aplicación con sus correspondientes view models.
- Widgets: Incluye componentes reutilizables, como vistas o modificadores, que mejoran la modularidad de la aplicación.
- Utils: Incluye componentes de utilidad, como la gestión de permisos para el acceso a la galería de fotos del dispositivo.
- Librería Firebase: Firebase
- Librería para cargar imágenes desde web: Kingfisher
- Librería para mostrar toast: Toast-Swift
- Librería Lottie para animaciones: Lottie
- Librería para reproductor de vídeos: Youtube Player Kit
Note
- Clona este repositorio:
git clone https://github.com/laurazp/Lovecook_app.git
- Abre el proyecto en Xcode:
open LoveCook.xcodeproj
- Asegúrate de instalar las dependencias utilizando Swift Package Manager.
Important
- Xcode 15.0 o posterior
- Swift 5.9
- Conexión a Internet para acceder a la API de Recetas y a las funciones de inicio de sesión.
- Otorgar permisos de archivos multimedia para poder acceder a las fotos de la Galería del dispositivo.
¡Disfruta cocinando con LoveCook! Si tienes alguna pregunta o sugerencia, no dudes en contactarnos. ¡Buen provecho!