initial commit

Signed-off-by: ale <ale@manalejandro.com>
Este commit está contenido en:
ale
2026-02-19 04:27:22 +01:00
commit 1a50f6147f
Se han modificado 57 ficheros con 3902 adiciones y 0 borrados

207
README.md Archivo normal
Ver fichero

@@ -0,0 +1,207 @@
# Motívame - Tu Compañero de Motivación Diaria
## 📱 Descripción
**Motívame** es una aplicación Android moderna diseñada para ayudarte a mantener la motivación en tus tareas pendientes. La app te permite configurar recordatorios diarios personalizados con tus metas específicas, ayudándote a visualizar el "por qué" detrás de cada tarea.
## ✨ Características Principales
- **📝 Gestión de Tareas**: Crea, edita y elimina tareas pendientes fácilmente
- **🎯 Definición de Metas**: Asocia múltiples objetivos a cada tarea para recordar por qué es importante
- **🔔 Notificaciones Diarias**: Recibe recordatorios automáticos todos los días a las 9:00 AM
- **🔊 Alertas Personalizables**: Configura sonido y vibración según tus preferencias
- **⏯️ Control de Tareas**: Activa o pausa tareas según tu conveniencia
- **🎨 Diseño Moderno**: Interfaz Material Design 3 con colores vibrantes y motivadores
- **📊 Tareas Predeterminadas**: Comienza con ejemplos inspiradores o crea las tuyas propias
## 🚀 Funcionalidades Técnicas
### Arquitectura
- **MVVM (Model-View-ViewModel)**: Separación clara de responsabilidades
- **Jetpack Compose**: UI moderna y declarativa
- **WorkManager**: Tareas programadas en segundo plano confiables
- **DataStore**: Persistencia de datos ligera y eficiente
- **Kotlin Coroutines**: Programación asíncrona fluida
### Componentes Principales
#### 1. Pantalla Principal
- Lista de tareas activas y pausadas
- Tarjetas visuales con gradientes
- Indicadores de estado (activo/pausado)
- Navegación rápida a configuración y agregar tareas
#### 2. Agregar Tareas
- Campo de título de tarea
- Agregar múltiples metas personalizadas
- Validación de campos
- Interfaz intuitiva con iconos descriptivos
#### 3. Configuración
- Activar/desactivar notificaciones
- Control de sonido
- Probar notificaciones en tiempo real
- Solicitud de permisos en Android 13+
### Sistema de Notificaciones
La aplicación utiliza un sistema de notificaciones inteligente:
- **Canal de Alta Prioridad**: Garantiza que las notificaciones sean visibles
- **Vibración Personalizada**: Patrón distintivo para llamar la atención
- **Mensajes Motivacionales**: Cada notificación muestra una meta aleatoria de la tarea
- **Sonido Configurable**: Opción de activar/desactivar sonido de notificación
### WorkManager - Recordatorios Diarios
- Ejecuta tareas diarias a las 9:00 AM
- Persiste incluso después de reiniciar el dispositivo
- Optimizado para el consumo de batería
- No requiere conexión a Internet
## 📦 Dependencias
```kotlin
// Core Android
androidx.core:core-ktx:1.10.1
androidx.lifecycle:lifecycle-runtime-ktx:2.6.1
androidx.activity:activity-compose:1.8.0
// Compose
androidx.compose:compose-bom:2024.09.00
androidx.compose.material3:material3
androidx.compose.material:material-icons-extended:1.5.4
// Architecture Components
androidx.lifecycle:lifecycle-viewmodel-compose:2.6.1
androidx.work:work-runtime-ktx:2.9.0
androidx.datastore:datastore-preferences:1.0.0
```
## 🔧 Requisitos
- **Android SDK 24+** (Android 7.0 Nougat o superior)
- **Target SDK 36**
- **Kotlin 2.0.21**
- **Gradle 9.0.1**
## 🎨 Diseño
### Paleta de Colores
- **Primary**: Indigo vibrante (#6366F1)
- **Secondary**: Rosa motivador (#EC4899)
- **Tertiary**: Púrpura (#8B5CF6)
- **Success**: Verde (#10B981)
- **Error**: Rojo (#EF4444)
### Tipografía
- Fuentes Material Design 3
- Énfasis en títulos grandes y legibles
- Texto secundario con contraste óptimo
## 📱 Permisos
La aplicación solicita los siguientes permisos:
- `POST_NOTIFICATIONS` (Android 13+): Para mostrar recordatorios
- `VIBRATE`: Para alertas con vibración
- `RECEIVE_BOOT_COMPLETED`: Para mantener recordatorios después de reiniciar
## 🔄 Flujo de la Aplicación
1. **Inicio**: Pantalla principal con tareas predeterminadas
2. **Agregar Tarea**: El usuario crea una nueva tarea con sus metas
3. **Configuración**: Personaliza notificaciones y sonido
4. **Recordatorios Automáticos**: WorkManager envía notificaciones diarias
5. **Interacción**: Usuario puede pausar, reanudar o eliminar tareas
## 🏗️ Estructura del Proyecto
```
app/src/main/java/com/manalejandro/motivame/
├── data/
│ ├── Task.kt # Modelo de datos
│ └── TaskRepository.kt # Repositorio de persistencia
├── notifications/
│ └── NotificationHelper.kt # Gestión de notificaciones
├── ui/
│ ├── screens/
│ │ ├── MainScreen.kt # Pantalla principal
│ │ ├── AddTaskScreen.kt # Pantalla agregar tarea
│ │ └── SettingsScreen.kt # Pantalla configuración
│ ├── theme/
│ │ ├── Color.kt # Definición de colores
│ │ ├── Theme.kt # Tema de la aplicación
│ │ └── Type.kt # Tipografía
│ └── viewmodel/
│ └── TaskViewModel.kt # ViewModel principal
├── worker/
│ └── DailyReminderWorker.kt # Worker para recordatorios
└── MainActivity.kt # Actividad principal
```
## 🚀 Compilación
```bash
# Compilar versión de depuración
./gradlew assembleDebug
# Compilar versión de lanzamiento
./gradlew assembleRelease
# Ejecutar tests
./gradlew test
# Compilar e instalar
./gradlew installDebug
```
## 💡 Casos de Uso
1. **Estudiante**: Recordatorios para estudiar materias específicas con metas académicas
2. **Fitness**: Mantener rutina de ejercicio con objetivos de salud
3. **Desarrollo Personal**: Hábitos diarios como lectura, meditación, etc.
4. **Productividad**: Tareas profesionales con objetivos de carrera
## 📝 Tareas Predeterminadas
La app incluye 3 tareas de ejemplo:
1. **Hacer ejercicio**
- Mejorar salud cardiovascular
- Sentirse más energético
- Alcanzar peso ideal
2. **Estudiar inglés**
- Mejores oportunidades laborales
- Viajar sin limitaciones
- Expandir conocimiento
3. **Leer 30 minutos**
- Desarrollar hábito de lectura
- Aprender cosas nuevas
- Reducir tiempo en redes sociales
## 🎯 Roadmap Futuro
- [ ] Estadísticas de cumplimiento
- [ ] Múltiples recordatorios por día
- [ ] Widgets de pantalla de inicio
- [ ] Compartir progreso
- [ ] Temas personalizables
- [ ] Backup en la nube
- [ ] Recordatorios inteligentes basados en ubicación
## 👨‍💻 Autor
Desarrollado con ❤️ para ayudar a las personas a mantener su motivación
## 📄 Licencia
Este proyecto es de código abierto y está disponible bajo la licencia MIT.
---
**¡Mantente motivado y alcanza tus metas! 🚀**