Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Video TFG Habitos saludables - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 17 de mayo de 2026 por Óscar J.

18 visualizaciones

Video TFG Hábitos saludables. Óscar Jiménez Martínez y Franklin Javier Oliveros

Descargar la transcripción

Muy buenas, mi nombre es Franklin Oliveros y junto a mi compañero Oscar Jiménez Martínez 00:00:01
vamos a presentar nuestro TFG, que en nuestro caso consiste en una aplicación Android 00:00:07
enfocada a la gestión de hábitos saludables. 00:00:14
La idea principal en esta aplicación es ayudar al usuario a registrar una rutina diaria, 00:00:18
registrar hábitos y medir su progreso 00:00:26
y además relacionar este progreso con su estado de ánimo 00:00:29
para así intentar darle una motivación extra al usuario 00:00:33
en este caso la app nace porque hoy en día 00:00:37
muchas personas quieren mejorar sus hábitos 00:00:41
pero les cuesta mucho mantenerle esa constancia, esa rutina 00:00:44
por lo cual nosotros estamos intentando buscar una solución 00:00:49
más sencilla, más visual y motivadora 00:00:52
para que no solo le permita registrar estos hábitos que quiere llevar a cabo, sino que también pueda generar un seguimiento con estadísticas y una cierta gamificación 00:00:56
para mantener a este usuario motivado y sobre todo usando nuestra aplicación. 00:01:07
El objetivo es una aplicación moderna en Android que integre la autenticación, la gestión de hábitos y registro emocional, 00:01:14
así como también un ranking de progreso y un mapa interactivo. 00:01:23
Además se buscó ampliar tecnologías que ya conocíamos como JPEG Compose, 00:01:30
también se usó Hilt Retrofit para la navegación y para el almacenamiento de datos en remoto usamos Supabase. 00:01:36
Lo decidimos así para tenerla bien estructurada y para prepararla para su crecimiento en caso de que se continúe. 00:01:45
Un poco en resumen, pues el propósito básico fue convertir el seguimiento de estos hábitos saludables en algo más fácil y visual y sobre todo más constante para el usuario, para que así de esta forma se sienta gusto al usar la aplicación y le sea más fácil a él mantener esta rutina. 00:01:53
Muy bien, ahora les voy a hablar un poco sobre las tecnologías y las herramientas que utilizamos en nuestro proyecto 00:02:17
Este proyecto está hecho básicamente en Kotlin para Android 00:02:26
Y para el desarrollo de las interfaces utilizamos JEPA Compose 00:02:32
Esto nos permitió construir las pantallas de una forma más limpia y sencilla en comparación con los XML tradicionales 00:02:36
Y para la navegación entre estas pantallas utilizamos Navigation Compose, lo que hace una navegación más segura y más ordenada. 00:02:45
En la parte de la arquitectura utilizamos un modelo ModelViewViewModel apoyado en StateFlow para separar la lógica de la presentación de la interfaz. 00:02:56
También usamos Heal para la inyección de dependencias y que de esta forma sea un poco más fácil construir los repositorios, las apples y los view models de forma separada para no acumular demasiado código en el mismo sitio. 00:03:10
Para la comunicación con el backend utilizamos Retrofit y como nuestro backend remoto también utilizamos Supabase para la base de datos que se conecta mediante su API REST. 00:03:27
En la parte del mapa se integró OSM Droid y para la localización necesaria para que este mapa te marque dónde estás exactamente utilizamos la ubicación de Google Play Services. 00:03:42
Además, para el tema visual de las interfaces, el proyecto usa material 3 y también usa corrutinas de Java, ya que trabajamos con fechas locales. 00:03:56
Perfecto, ahora vamos a pasar con las actividades realizadas en este proyecto. 00:04:12
Durante el desarrollo de nuestra aplicación, pasamos por varias actividades principales. 00:04:20
Primero, empezamos definiendo una estructura general de nuestro proyecto, como nuestra pantalla de login, que fue con la primera con la que empezamos trabajando. 00:04:26
Que el usuario se pueda no solo loggear si ya dispone de un usuario, sino también registrarse como un usuario nuevo. 00:04:39
nuevo. También empezamos definiendo las funcionalidades básicas como el inicio de sesión 00:04:47
que ya comenté, también la creación de hábitos que es lo básico de la aplicación, el sistema de 00:04:56
ánimo hacia el usuario, el sistema de progreso importante con tema de gamificación para mantener 00:05:04
al usuario enganchado un poco también que pueda ver el progreso de los demás usuarios y también 00:05:13
el mapa que fue una tecnología que no conocíamos y que nos tocó pues implementar por nuestra propia 00:05:20
cuenta después implementamos un sistema de autenticación tenemos una pantalla como ya 00:05:27
le comenté de login y de registro con una validación de correo y contraseña y una confirmación 00:05:37
de la misma contraseña. Y una vez el usuario ya se haya logueado o identificado, pues se 00:05:45
guarda su identificador en un sesión manual. Luego también implementamos la gestión de 00:05:52
los hábitos, que realmente esta es la parte importante, la más core de nuestra aplicación, 00:06:01
ya que de esto se trata. Integramos la creación de hábitos básicos, poder cargarlos por fecha para que el usuario los tenga ordenados, 00:06:07
también marcarlos como completados, eliminar los hábitos creados y consultar hábitos que quedan pendientes de días anteriores. 00:06:19
También se añadió el tema del registro del estado de ánimo 00:06:29
Donde el usuario puede seleccionar entre varias opciones y así ver su resumen acumulado 00:06:36
Y otra parte bastante importante del progreso fue el tema de la lista de los usuarios 00:06:42
Donde se obtienen los puntos y se genera un ranking visual 00:06:51
digo que esto es importante porque este es el sistema de gamificación 00:06:56
y como ya había comentado anteriormente 00:07:00
uno de nuestros objetivos principales era hacer que el usuario se sienta enganchado a la aplicación 00:07:03
de esta forma creo que logramos conseguir que el usuario se sienta un poco más motivado 00:07:11
al ver una lista de personas, compararse un poco con ellos 00:07:16
y así generar ese sistema de competitividad entre los usuarios 00:07:20
Esto nos puede llevar a que el uso de la aplicación sea más intenso y esto siempre es conveniente. 00:07:25
Y otra parte importante fue el tema del mapa, ya que es una tecnología que no habíamos usado anteriormente. 00:07:33
Es una de las partes más técnicas del proyecto, ya que combinamos el tema de los permisos de ubicación, 00:07:43
ubicación, que los utilizamos con Google Play Services y geolocalización en tiempo real con 00:07:49
OpenStreetMap y así asociamos estos puntos con el tema de los hábitos. Mientras trabajamos en 00:07:56
la aplicación los mayores problemas que encontramos fue al principio en la parte del mapa ya que no 00:08:06
ponía un punto que eran las oficinas de google y no nos ponía el lugar donde estábamos 00:08:21
y eso lo pudimos arreglar añadiendo la librería de google play service que es una ventanita que 00:08:29
te sale aquí al principio al usar el mapa pidiendo de los permisos de localización de la aplicación 00:08:39
Una vez dado esto, ya en la parte de la pantalla del mapa, en esta parte de aquí, nos pedirá los permisos de ubicación. 00:08:44
Si se lo hemos dado procederá a esta parte del método en la que cogerá tanto la latitud como la longitud para grabarla en el WeState en estos dos de aquí. 00:09:05
Y una vez con esto ya se pudo poder hacer esto de aquí. 00:09:20
El otro problema que se encontró, que fue muy común, era en el momento de hacer distintas, por ejemplo, crear un hábito, borrarlo, cambiarle el estado para todo, 00:09:24
tanto por aquí se puede ver, tanto como en crear, esto es la parte de crear un usuario, al registrarse nos daba problemas 00:09:45
y al principio no sabíamos muy bien por qué era, porque teníamos un mensaje que era este de aquí, que era solo al registrarse 00:09:59
Y no sabíamos muy bien cuál era el porqué 00:10:07
Si nos vamos aquí a hábitos 00:10:10
También nos pasa 00:10:13
Esto es al cargar los hábitos 00:10:15
Los completados y los pendientes 00:10:17
También nos pasaba 00:10:20
Luego nos dimos cuenta 00:10:22
Esto es la parte de marcar como completado 00:10:25
Que es esto de aquí 00:10:29
Deslizar a la derecha 00:10:32
Y nos dimos cuenta al final 00:10:33
que en home no hay 00:10:37
pero en los demás si 00:10:39
tanto en hábitos, mapa, ánimo 00:10:41
y creo que ya 00:10:43
pero 00:10:47
era un problema de las 00:10:49
policies de RLS 00:10:51
de Supabase 00:10:53
al final lo pudimos arreglar 00:10:54
de forma muy fácil ya que encontramos 00:10:57
este 00:10:59
pequeño trozo de código por internet 00:11:01
en foros 00:11:03
y nos dice 00:11:04
el código http del error y un poquito el mensaje que nos daba de problema muchas veces eran 401 y 00:11:06
403 al buscar en internet esos códigos descubrimos que era este esto de aquí por lo menos con las 00:11:15
rls de policías que al final se lograron arreglar fácilmente y dando permisos a los usuarios al 00:11:26
usuario que usamos en el usuario anon que es este de aquí 00:11:34
lo pudimos arreglar fácilmente y haciendo una llamada una query sql que 00:11:40
nos daba los permisos para poder editar las tablas y ese fue el mayor problema 00:11:48
que tuvimos ya que estuvimos un tiempo sin saber muy bien por qué 00:11:54
a continuación se va a mostrar un poco la funcionalidad de la aplicación y las 00:12:00
partes más importantes de la misma las primeras de todas es el login el cual cuando tú te registras 00:12:04
como un nuevo usuario y la base de datos se guardará en la tabla de usuarios a su vez cuando 00:12:14
se crea un nuevo usuario se creará un nuevo user stats para el mismo para almacenar los puntos que 00:12:23
son los que obtiene al finalizar hábitos bien vamos a hacer login con los usuarios 00:12:31
por ejemplo con este de aquí que tiene un par de hábitos y añadidos 00:12:39
y al entrar en la página de inicio vemos los puntos que tienen la persona y el último estado 00:12:52
de ánimo, el cual para el estado de ánimo hay una tabla en la que se va guardando el 00:12:59
estado de ánimo de la persona. El estado de ánimo se selecciona en esta ventanita 00:13:05
de aquí, en la cual el usuario puede seleccionar si hoy se encuentra mal, regular bien o muy 00:13:11
bien, y hay un pequeño resumen emocional de todas las veces que le da la persona. En 00:13:18
este caso pues soy por ejemplo muy bien y los guarda y se actualiza y en la base 00:13:25
de datos vemos que ya se ha actualizado con fecha 00:13:31
de hoy pero en el inicio sigue saliendo bien porque es 00:13:36
el estado de ánimo de ayer 00:13:41
la ventana de hábitos está hecha para que sólo muestre los 00:13:49
del día de hoy. En este caso, por ejemplo, yo añadí que hoy tengo como hábito beber 00:13:54
agua 5 vasos y aún está pendiente porque no está terminado. Cuando un usuario termina 00:14:01
un hábito, lo único que tiene que hacer es deslizar hacia la derecha, el hábito se 00:14:09
marca como completado y en este caso, si volvemos al inicio, nos habrá sumado 5 puntos al ser 00:14:15
un hábito de hoy. También podemos ver que en la parte de abajo tenemos los hábitos 00:14:22
pendientes. Voy a mostrar un momento la ventana de hábitos. Este es el método para marcar 00:14:28
cuando un usuario quiere completar un hábito, deslizarlo hacia la derecha y aquí está 00:14:37
apartado para los puntos y otra cosa que comentar es que si el hábito lo ha 00:14:44
completado por error se puede volver a marcar como que no lo ha completado y 00:14:51
restará los puntos que había añadido 00:14:56
bien en los propios hábitos tú puedes crear 00:15:00
ponerle un nombre, por ejemplo, correr, le dices dos kilómetros, y es para el día 20, por ejemplo, y si ahora nos vamos a la base de datos, 00:15:06
Veremos que si actualizamos la base de datos 00:15:23
Si actualizamos la base de datos 00:15:30
Bueno, perdón, no le he dado a crear hábito 00:15:35
Ahora que ya está creado 00:15:42
Vemos que si nos vamos al día 20 00:15:44
El hábito está aquí 00:15:47
Y dentro de la base de datos 00:15:49
Cuando recarguemos, ahora sí 00:15:52
Tendremos el hábito aquí guardado 00:15:54
Para los hábitos pasados 00:15:56
Está hecho de forma que 00:16:02
Si por ejemplo nos vamos al día de ayer 00:16:04
Si tenía hábitos 00:16:06
Pero al estar completados no se muestran 00:16:09
Solo se muestran los del día 13 00:16:11
Para hacer un ejemplo vamos a descompletar este 00:16:13
Y vamos a recargar otra vez la página 00:16:15
Y vemos que sale como que no está completado 00:16:18
Tanto hoy como ayer 00:16:21
Bien 00:16:23
En la ventana de mapa 00:16:24
Está hecho de tal forma que 00:16:26
Si le damos los permisos a la aplicación 00:16:30
Tarda un poquito 00:16:33
Nos marcará la zona en la que estamos ahora mismo 00:16:35
Porque usa los servicios de Google Play de ubicación 00:16:40
Entonces, ahora aquí podemos movernos por la aplicación y demás 00:16:43
Este punto, por ejemplo, es uno de los hábitos que ya había creado 00:16:48
Pero por ejemplo, como tenemos que correr, nos acercamos aquí al parque, mantenemos pulsado en la pantalla y le ponemos que para crear un punto y le ponemos que va a ser correr. 00:16:54
Y vemos que ya tiene el punto creado con el hábito que quieres hacer y la fecha para realizar ese hábito. 00:17:12
Bueno, otra pequeña cosa a comentar es que cuando estás en el mapa y, por ejemplo, el hábito del día 13 ya lo has completado, vamos a irnos al día 13, lo vamos a completar, al volver al mapa ya no se ve ese punto del hábito, ya que al estar completado se borró automáticamente del mapa. 00:17:21
Vale, ya para terminar como conclusión queremos decir que este proyecto nos ha permitido desarrollar una aplicación en Android relativamente completa 00:17:51
y sobre todo moderna y centrada en el usuario 00:18:06
nosotros hemos trabajado sobre todo la parte de la lógica interna ya que creíamos que era lo más importante 00:18:09
que la aplicación funcionara lo mejor posible, pero también hemos trabajado en la parte visual, 00:18:18
ya que para nosotros es importante que el usuario se sienta cómodo, ya que uno de los principales objetivos 00:18:25
era que el usuario se manteniese usando la app, así no solo creaba los hábitos, sino que se acostumbraba a seguirlos. 00:18:31
Para nosotros, la parte más valiosa, lo que nos queda, es que no solo desarrollamos una app de diferentes pantallas, 00:18:40
que consigue moverse, sino que realmente llegamos a conectar estos hábitos creando un sistema 00:18:47
de ánimo y de progreso y una experiencia relativamente coherente que era lo que realmente 00:18:55
buscábamos, un poco más enfocado al usuario. Además nos ha servido para practicar diferentes 00:19:02
tecnologías como Jetpack Compose, Hilt, Navigation Compose y el mapa que integramos con Google. 00:19:08
Y en definitiva, este proyecto creemos que cumple más o menos bien con el objetivo de ayudar al usuario a un seguimiento de estos hábitos de forma más visual, más sencilla y más motivadora, 00:19:17
que creemos que era lo que faltaba un poco en las aplicaciones de estos nichos 00:19:37
que ayuda al usuario a motivarse y a seguir conectado con sus hábitos 00:19:43
no solo de forma que los cree y se olvide de ellos 00:19:49
pues esta aplicación realmente no está del todo completa 00:19:53
todavía nos falta por desarrollar parte 00:19:58
y sobre todo si queremos que sea una aplicación totalmente completa 00:20:00
tendríamos que añadir ciertas funcionalidades todavía, como ampliar las notificaciones o permitirle al usuario exportar sus datos o sincronizarlo de una forma más avanzada 00:20:05
y crear un sistema de logros un poco más complejo y completo para así ayudar al usuario a sentirse aún más conectado con la aplicación. 00:20:18
Muchas gracias por atendernos en este video 00:20:29
Espero que les haya gustado este trabajo que llevamos a cabo 00:20:34
Tanto mi persona, Franklin Javier Oliveros Afonso 00:20:39
Como mi compañero Oscar Jiménez Martínez 00:20:42
Muchas gracias 00:20:45
Materias:
Programación
Etiquetas:
Aprendizaje Basado en Proyectos
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado básico
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado medio
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado superior
      • Primer Curso
      • Segundo Curso
Autor/es:
Oscar jimenez y Franklin Javier
Subido por:
Óscar J.
Moderado por el profesor:
Lucia San Miguel López (lucia.sanmiguel)
Licencia:
Reconocimiento - No comercial - Compartir igual
Visualizaciones:
18
Fecha:
17 de mayo de 2026 - 17:53
Visibilidad:
Público
Centro:
IES FRANCISCO DE QUEVEDO
Duración:
20′ 47″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
163.20 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid