Skip to content

Angel-Mario/Task_List

Repository files navigation

🛒 TuEnvío Account Manager

Herramienta móvil para el control de uso y disponibilidad de cuentas de la plataforma TuEnvío — la cadena de tiendas en línea nacional de Cuba.

Vista principal     Nuevo usuario     Menú de opciones


📋 Descripción

TuEnvío Account Manager es una aplicación Android diseñada para gestionar de forma sencilla un listado de cuentas de la plataforma TuEnvío. Dado que esta plataforma impone una restricción de 7 días entre compras por cuenta, la app permite rastrear cuándo fue el último uso de cada cuenta y calcular automáticamente cuándo volverá a estar disponible para realizar una nueva compra.

La aplicación es ideal para familias o grupos que comparten varias cuentas y necesitan saber en todo momento cuáles están disponibles y cuáles deben esperar.


✨ Funcionalidades

  • Listado de cuentas con información completa de cada usuario
  • Indicador visual de disponibilidad mediante una barra de color lateral:
    • 🟢 Verde — Disponible para comprar (≥ 7 días desde el último uso)
    • 🟡 Amarillo — Próximamente disponible (4–6 días transcurridos)
    • 🔴 Rojo — No disponible (< 4 días desde el último uso)
    • Sin color — Sin información de fecha registrada
  • Contador de tiempo en tiempo real — muestra exactamente cuántos días, horas, minutos o segundos faltan para que la cuenta vuelva a estar disponible (se actualiza cada segundo)
  • Registro del último uso — fecha de la última compra y tiempo transcurrido desde entonces
  • Fecha proyectada de disponibilidad — calculada automáticamente (fecha uso + 8 días)
  • Filtrado de cuentas por estado: Todas / Disponibles / No Disponibles
  • Contadores de disponibilidad en la barra superior con badges en tiempo real
  • Ordenamiento reversible de la lista
  • Agregar nuevas cuentas con un solo tap
  • Menú contextual por cuenta con opciones para:
    • Editar nombre
    • Editar correo electrónico (Gmail)
    • Editar fecha de último uso (selector de fecha nativo)
    • Eliminar la cuenta
  • Edición inline de nombre y correo con long-press sobre el campo
  • Registro de uso — botón para marcar una cuenta como "usada hoy"
  • Persistencia de datos local mediante SharedPreferences + serialización JSON (Gson)

📸 Capturas de pantalla

Vista principal Nuevo elemento Menú de opciones
Principal Nuevo Menú

🏗️ Arquitectura y estructura del proyecto

app/src/main/java/com/tasklist/sherd/
├── MainActivity.kt       # Activity principal, gestión de estado y persistencia
├── TopBar.kt             # Barra superior con filtros, orden y botón de agregar
├── UserItemList.kt       # Componente de tarjeta de usuario (item de lista)
└── Usuario.kt            # Modelo de datos con lógica de disponibilidad

Modelo de datos — Usuario

data class Usuario(
    val name: String,       // Nombre del titular de la cuenta
    val gmail: String,      // Correo Gmail asociado a TuEnvío
    val dateUsed: Date,     // Fecha del último uso/compra
    val state: Int          // -1 No disponible | 0 Pronto disponible | 1 Disponible | 2 Sin info
)

Lógica de disponibilidad

Una cuenta se considera disponible cuando han transcurrido 7 o más días desde la fecha de último uso registrada. La aplicación calcula y muestra el tiempo restante con una precisión de segundos, actualizándose en tiempo real.


🛠️ Tecnologías utilizadas

Tecnología Versión Descripción
Kotlin 1.9.0 Lenguaje principal
Android Gradle Plugin 8.2.0 Build system
Jetpack Compose BOM 2023.10.01 Framework de UI declarativa
Material 3 1.1.2 Sistema de diseño de Google
Material Icons Extended 1.5.4 Iconografía extendida de Material
Navigation Compose 2.7.5 Navegación entre pantallas
Gson 2.10.1 Serialización/deserialización JSON
AndroidX Preference KTX 1.2.1 Persistencia con SharedPreferences
Lifecycle Runtime KTX 2.6.2 Manejo del ciclo de vida
Activity Compose 1.8.1 Integración de Compose con Activity
Roboto Fuente tipográfica (Black, Bold, Medium, Regular, Thin)

📦 Requisitos

Requisito Valor
Android mínimo Android 6.0 (API 23)
Android objetivo Android 14 (API 34)
Versión de la app 1.1
IDE recomendado Android Studio Hedgehog o superior

🚀 Instalación y compilación

Desde Android Studio

  1. Clona el repositorio:
    git clone https://github.com/tu-usuario/tuenvio-account-manager.git
  2. Abre el proyecto en Android Studio
  3. Espera a que Gradle sincronice las dependencias
  4. Conecta un dispositivo o inicia un emulador (API 23+)
  5. Haz clic en Run ▶ o usa Shift + F10

APK de Release

Para generar el APK de producción (con minificación y reducción de recursos habilitadas):

./gradlew assembleRelease

El APK resultante se encontrará en app/release/.

Nota: La app usa la firma de debug para el build de release por defecto. Configura tu propia keystore para distribución en producción.


💾 Persistencia de datos

Todos los datos se almacenan localmente en el dispositivo usando SharedPreferences. La lista de usuarios se serializa como JSON mediante Gson y no requiere conexión a internet ni ningún servidor externo.

Los datos persisten entre sesiones y sobreviven al cierre de la aplicación.


📖 Cómo usar la app

  1. Agregar una cuenta — Toca el botón + en la esquina superior derecha
  2. Rellenar los datos — Long-press sobre "Inserte nombre" o "Inserte correo" para editar, o usa el menú
  3. Registrar un uso — Cuando se realize una compra, toca el botón de reloj en la tarjeta para marcarla como "usada hoy"
  4. Editar la fecha manualmente — Desde el menú → "Editar Fecha" o con long-press sobre la fecha mostrada
  5. Filtrar — Usa los iconos de la barra superior para ver solo las cuentas Disponibles 🟢 o No Disponibles 🔴
  6. Reordenar — Toca el icono de ordenar (izquierda) para invertir el orden de la lista
  7. Eliminar una cuenta — Menú → "Eliminar"

📝 Notas

  • La restricción de 7 días es propia de la plataforma TuEnvío y está sujeta a cambios según las políticas de la misma.
  • Esta app es una herramienta de organización personal y no tiene afiliación oficial con TuEnvío ni con CIMEX/TRD.
  • No se recopila, transmite ni comparte ningún dato del usuario. Todo queda en el dispositivo.

📄 Licencia

Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages