
Aprende a desarrollar una aplicación de chat en tiempo real desde cero utilizando Kotlin, Jetpack Compose y Firebase.
En este curso construiremos paso a paso una aplicación Android completa, partiendo desde la creación inicial del proyecto hasta implementar funcionalidades propias de una aplicación moderna de mensajería.
Durante el desarrollo aprenderás a trabajar con Firebase Authentication para registrar e iniciar sesión con usuarios, Cloud Firestore para almacenar usuarios, conversaciones y mensajes, Firebase Realtime Database para funcionalidades que requieren sincronización inmediata y Firebase Storage para almacenar imágenes.
También aplicaremos arquitectura MVVM para organizar correctamente nuestro proyecto, separando la interfaz, el estado, la lógica de presentación y el acceso a los datos. Trabajaremos con ViewModel, StateFlow, SharedFlow, Kotlin Coroutines y Flow para crear una aplicación reactiva y mantener la interfaz actualizada cuando los datos cambien.
A lo largo del curso desarrollaremos funcionalidades como registro e inicio de sesión, listado de usuarios, perfiles, conversaciones privadas, mensajes de texto, envío de imágenes, lista de conversaciones recientes, estados de mensajes, presencia de usuarios e indicador de escritura en tiempo real.
También aprenderás a trabajar con consultas de Firestore, índices compuestos, Collection Group Queries, WriteBatch, transacciones y otras herramientas necesarias para resolver situaciones reales dentro de una aplicación conectada a Firebase.
Finalmente, integraremos notificaciones Push para mejorar la experiencia de mensajería cuando el usuario no se encuentre dentro de la conversación.
Este no es un curso basado únicamente en pequeños ejemplos aislados. Construiremos un proyecto completo desde cero para que puedas comprender cómo se relacionan Jetpack Compose, MVVM y los diferentes servicios de Firebase dentro de una aplicación Android real.
El objetivo es que al finalizar el curso tengas una base sólida para desarrollar tus propias aplicaciones con Jetpack Compose y Firebase, además de comprender cómo organizar un proyecto que utiliza autenticación, bases de datos en tiempo real, almacenamiento de archivos y comunicación entre usuarios.
Yo agregaría una pequeña sección al final
Puedes continuar la misma descripción con:
¿Qué construiremos?
Una aplicación de chat que permitirá:
Registrar e iniciar sesión con usuarios.
Visualizar otros usuarios registrados.
Crear conversaciones privadas.
Enviar mensajes de texto en tiempo real.
Enviar y visualizar imágenes.
Mostrar conversaciones recientes.
Mostrar estados de enviado, entregado y leído.
Conocer el estado de conexión de otros usuarios.
Mostrar cuándo otro usuario está escribiendo.
Gestionar información y fotografía del perfil.
Recibir notificaciones Push.
Sincronizar información utilizando Firebase.