CookIes es una aplicación móvil diseñada para ayudar a los amantes de la cocina a descubrir, compartir y organizar recetas. Con una interfaz moderna y amigable, los usuarios pueden buscar inspiración, agregar sus recetas favoritas, calificar y comentar recetas de otros, y mucho más.
-
Explorar Recetas:
- Explora una lista curada de recetas con imágenes y detalles.
- Filtra por tipo de cocina, tiempo de preparación o ingredientes.
-
Gestión de Recetas:
- Crea, edita y guarda tus propias recetas.
- Añade ingredientes personalizados y pasos detallados.
-
Favoritos:
- Guarda recetas que te interesen en tu lista de favoritos para acceder fácilmente.
-
Notificaciones:
- Recibe actualizaciones sobre tus recetas favoritas o nuevas recetas populares.
-
Perfil de Usuario:
- Personaliza tu perfil con una foto y datos personales.
- Cambia tu nombre, correo y contraseña.
-
Modo Oscuro/Claro:
- Cambia entre temas para una experiencia visual personalizada.
- Framework: Jetpack Compose - Interfaz declarativa moderna de Android.
- Backend en la Nube: Firebase Firestore para almacenamiento y autenticación.
- Almacenamiento de Imágenes: Integración con Firebase Storage para fotos de perfil y recetas.
- Autenticación:
- Autenticación por correo electrónico y contraseña.
- Inicio de sesión con Google.
- Gestión de Estados: Uso de
ViewModel
yStateFlow
para un manejo reactivo y limpio del estado de la aplicación. - Dependencias Clave:
Coil
: Para cargar imágenes de manera eficiente.Kotlin Coroutines
: Para manejar tareas asíncronas.Hilt
: Inyección de dependencias para simplificar la arquitectura del proyecto.
Contiene las capas de datos como modelos, repositorios e integración con Firebase.
- Modelos:
- Representan los datos principales:
Recipe
,Notification
,UserProfile
, etc.
- Representan los datos principales:
- Repositorios:
NotificationRepository
: Para manejar notificaciones.RecipeRepository
: Para gestionar las recetas y favoritos.UserRepository
: Para operaciones de perfil y autenticación.
Organiza las vistas de la aplicación en base a funcionalidades.
- Autenticación:
LoginView
,SignUpView
,ForgotPasswordView
. - Panel de Usuario:
DashboardView
,ProfileView
,SettingsView
. - Recetas:
RecipeDetailView
,RecipeWizardView
.
Componentes reutilizables y personalizados como:
- Botones:
PrimaryButton
. - Entradas:
CustomTextField
. - Otros:
SharedLoadingIndicator
,SharedTopAppBar
.
Define la paleta de colores y estilos visuales:
- Compatibilidad con modo claro y oscuro.
- Android Studio Flamingo o superior.
- JDK 11 o superior.
- Firebase Console:
- Configurar Firestore, Storage y Authentication.
- Descargar el archivo
google-services.json
y colocarlo en el directorioapp
.
- Clona este repositorio:
git clone https://github.com/AlthausDev/05-Cook-Ies.git cd cookies
- Abre el proyecto en Android Studio.
- Configura las claves necesarias para Firebase.
- Ejecuta el proyecto en un emulador o dispositivo físico.
- Abre la aplicación.
- Regístrate o inicia sesión.
- Explora recetas, crea tus propias recetas y comparte tus creaciones con la comunidad.
Si deseas contribuir, sigue estos pasos:
- Haz un "fork" del repositorio.
- Clona tu repositorio forkeado:
git clone https://github.com/AlthausDev/05-Cook-Ies.git
- Crea una nueva rama:
git checkout -b nombre-de-tu-rama
- Realiza tus cambios y asegúrate de que el código pase las pruebas.
- Haz "commit" y sube tus cambios:
git add . git commit -m "Descripción de los cambios" git push origin nombre-de-tu-rama
- Abre un "Pull Request" en el repositorio original.
Para desplegar la aplicación en un entorno de producción:
- Configura Firebase Firestore y Storage con reglas de seguridad apropiadas.
- Activa el servicio de autenticación con proveedores como Google.
- Genera una versión "release" de la aplicación desde Android Studio.
Este proyecto está bajo la Licencia Creative Commons 4.0.
Si tienes alguna pregunta, sugerencia o problema, no dudes en contactarme a través de [email protected].