Recipes es una aplicación móvil enfocada en recetas. Recipes le permite al usuario revisar sus recetas, agregar nuevas y eliminar algunas.
- Gestión de recetas: El usuario puede agregar, visualizar y eliminar recetas.
- Funcionalidad local: La aplicación permite al usuario gestionar sus recetas sin necesidad de conexión a Internet.
- Modo oscuro: La aplicación cuenta con un modo oscuro para mejorar la experiencia del usuario en condiciones de poca luz.
- Soporte multi-idioma: La aplicación está disponible en varios idiomas (Alemán, Chino, Coreano, Español, Francés, Inglés, Italiano, Japonés, Portugués).
- Compartición de recetas: El usuario puede compartir sus recetas con otros usuarios a través de un enlace único.
- IA: La aplicación utiliza inteligencia artificial para:
- Generar recetas basadas en una foto de un plato.
- Sugerir recetas basadas en los ingredientes que el usuario tiene en casa.
- Sugerir recetas basadas en las preferencias del usuario.
El repositorio está organizado en tres carpetas principales:
lib/: Contiene el código fuente de la aplicación móvil, incluyendo controladores, modelos, vistas y configuraciones de la app.website/: Sitio web que presenta la aplicación y maneja la funcionalidad de compartir recetas a través de enlaces únicos.functions/: Funciones serverless de Appwrite que proporcionan servicios de backend para la gestión de cuentas y funcionalidades de IA.
- La aplicación móvil está desarrollada en Flutter con Hive CE y Riverpod.
- El sitio web está desarrollado en Astro con Tailwind CSS.
- Las funciones serverless están desarrolladas en Python y se ejecutan en Appwrite Functions. Las funciones de IA utilizan el SDK de Google Gen AI y Gemini.
- La aplicación móvil usa Appwrite para la autenticación de usuarios, almacenamiento de recetas y demás.
Note
Para iniciar con el desarrollo del sitio web o las funciones, revisar el archivo README.md correspondiente en cada carpeta.
Para iniciar con el desarrollo de la aplicación móvil, se debe tener Flutter instalado.
- Clona el repositorio.
- Instala las dependencias:
flutter pub get - Genera los archivos necesarios con build_runner:
dart run build_runner build --delete-conflicting-outputs - Inicia el emulador o conecta un dispositivo físico.
- Corre la aplicación:
flutter run
Para correr la aplicación en Android necesitarás firmar la aplicación. Puedes seguir las instrucciones oficiales de Flutter para firmar la aplicación.
Asegúrate de agregar el archivo key.properties en la carpeta android/ con las propiedades storeFile, storePassword, keyAlias y keyPassword correspondientes a tu archivo de firma.