Aplicación desarrollada para sistemas operativos android que permite realizar conversaciones en tiempo real, visualmente es parecida a WhatsApp pero ya en temas de funcionalidad es más parecida a un servidor de Discord. Creada con el lenguaje de programación Kotlin y el editor Android Studio de JetBrains.
Este proyecto utiliza la tecnología de Firebase proporcionada por Google, en especifico se hace uso de los servicios de Autenticación y de Base de Datos.
La primer pantalla que observas al iniciar la aplicación es la de Inicio de Sesión, contiene validación tanto por parte de código al no dejar ingresar datos incorrectos o vacíos como por parte de los servicios de Autenticación al no dejar ingresar a usuarios que previamente no se hayan registrado.
Está actividad es la que interactua directamente con los servicios de Autenticación y de Base de datos. Al momento de registrarse de nuevo se validan los campos para evitar campos vacíos, además si surge algún otro problema por parte de la base de datos se muestra un Toast informando de dicho error para así guiar al usuario. Al registrarse tu nombre se añadirá automaticamente a la lista de contactos disponibles y cualquier otra persona en la aplicación podrá enviarte mensaje.
Aquí se muestra la información más relevante:
- Historial de chats
- Contactos a los cuales se les puede enviar mensaje
- Botón para cerrar sesión
Al darle click a cualquier chat o contacto te enviará a su respectivo chat para poder iniciar o continuar una conversación.
Además, en dónde están enlistados los contactos también aparece el nombre del propio usuario que está utilizando la aplicación pero a diferencia de otro contacto ajeno al darle click este te llevará a otra actividad que te permite actualizar el propio nombre del usuario, al actualizarlo se cambiará también para todas las personas.
La pantalla de los chats es bastante similar a una aplicación como WhatsApp y el funcionamiento del mismo es básicamente que al momento de enviar un mensaje se activa un evento en la base de datos que de inmediato actualiza la información, permitiendo así la conversación en tiempo real.