Skip to content

Repository files navigation

SleepWell (Nativas)

Aplicación móvil para registrar y analizar tu sueño. UI en Jetpack Compose, persistencia con Room, preferencias con DataStore.

Estado

  • Minimal / iterativo: este README es breve y se irá ampliando con cada entrega.

Funcionalidades principales

  • Registrar noches de sueño: hora de inicio/fin, duración, calidad y notas.
  • Evitar duplicados por fecha (validación al guardar).
  • Dashboard con último registro y resumen semanal.
  • Estadísticas: promedio, mejores/peores noches y análisis por día de la semana.
  • Análisis de factores: cafeína, ejercicio, tiempo de pantalla y estrés.
  • Perfil de usuario: objetivo de sueño y nombre (guardado en DataStore).
  • Uso opcional de sensor de luz para mostrar ambiente al registrar.

Estructura del proyecto (resumen)

  • app/src/main/java/com/example/sleepwellmain/
    • data/local/ : SleepEntry, SleepDao, SleepDatabase (Room)
    • data/repository/ : SleepRepository (lógica de negocio, estadísticas)
    • ui/screens/ : pantallas Home, Log, Stats, Factors, Profile
    • ui/components/ : cards y componentes reutilizables
    • utils/ : utilidades (SleepCalculations.kt, UserPreferences, LightSensorManager)
    • MainActivity.kt : entry-point con navegación Compose
  • build.gradle.kts, settings.gradle.kts, gradle/ : configuración de build
  • .gitignore : reglas para no subir archivos sensibles (keystore, local.properties, google-services.json)

Cómo ejecutar (desarrollo)

Requisitos: JDK 11+, Android SDK, Android Studio o Gradle CLI.

En Windows (PowerShell) desde la raíz del proyecto:

# compilar debug
.\gradlew assembleDebug
# correr tests unitarios
.\gradlew test
# pruebas instrumentadas (requiere dispositivo/emulador conectado)
.\gradlew connectedAndroidTest

Con Android Studio: abrir la carpeta SleepWell (o nativas si reestructuraste), sincronizar y ejecutar con un emulador.

Nota: crea local.properties con la ruta del SDK (no cometer):

sdk.dir=C:\Users\TU_USUARIO\AppData\Local\Android\sdk

Archivos sensibles / secretos

  • NO subir: local.properties, *.jks / *.keystore, keystore.properties, google-services.json, .env.
  • Estos ya están excluidos por .gitignore. Si accidentalmente subiste secretos, contacta para instrucciones de purga del historial.

Contribuir (rápido)

  • Abre un issue para bug o feature request.
  • Fork → branch feature/mi-cambio → PR con descripción y screenshots si aplica.
  • Mantén cambios pequeños y atómicos; escribe tests para lógica de negocio cuando sea posible.

CI sugerido

  • Crear un workflow en .github/workflows/android.yml que ejecute assembleDebug y test en PRs.
  • Guardar keystore/passwords en GitHub Secrets si planeas firmar releases en CI.

Contacto

  • Autor: Angel Joshue Conforme (ver perfil en el repo)

Este README es intencionalmente minimal e iterativo — añadiré ejemplos de uso, badges y flujo de contribución cuando lo indiques.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages