Adereso Logo

Full Stack Challenge Chat

Tecnología y Desarrollo

¡Felicitaciones! Bienvenid@ al desafío final 😁

Muchas gracias por continuar nuestro desafío. Agradecemos tu tiempo. En Adereso estamos construyendo el software de atención a clientes más completo de Latinoamérica. Nuestra plataforma tiene un alto nivel de complejidad, manejando cerca de 120.000 solicitudes por minuto. Es por esto que buscamos a los mejores desarrolladores 😉.

A continuación te explicamos el desafío el cual consiste en hacer un pequeño chat tipo WhatsApp. Esperamos que según el tiempo que quieras invertir y el nivel de completitud de la solución, este desafío te tome entre una tarde a un día.

Objetivo

El objetivo de este desafío es que nos enseñes tus habilidades de desarrollo web, mediante la realización de un mini proyecto que incluirá tanto la implementación (Back-end y Front-end) como el despliegue de una app. Queremos ver que puedas moverte en todo el proceso de creación de una app.

Descripción del proyecto

Deberás crear una aplicación tipo WhatsApp o Messenger, donde distintos usuarios puedan conversar entre ellos. Cada usuario debe poder ver la lista de conversaciones que tiene con sus amigos y al hacer click en cada conversación, puedas ver el chat y enviar y recibir mensajes en tiempo real.

La app debe cumplir con los siguientes requisitos:

Login

Cuando entras a la app por primera vez te pedirá identificarte e iniciar sesión. Si el usuario no existe, se crea en el momento e inicia su sesión.

Conversaciones

Al iniciar sesión se muestran las conversaciones con todos los demás usuarios que existan en la app, ordenadas por fecha de actualización (último mensaje).

Mensajes

Al abrir una conversación, se muestran los mensajes intercambiados entre esos usuarios, ordenados cronológicamente. El usuario con la sesión iniciada puede enviar un mensaje a la conversación abierta. Los mensajes inician en estado “enviado” hasta que el otro ingrese y vea el mensaje, dejándolo en estado “visto”, similar a WhatsApp.

Otros detalles

Los mensajes y conversaciones son persistidos en el tiempo.

Los mensajes y conversaciones deben actualizarse automáticamente, sin necesidad de refrescar el navegador.

Aspectos a ser evaluados

Cuando revisemos tu entrega evaluaremos los siguientes puntos:

  • Funcionalidad
  • Estilo / Calidad de código
  • Testing
  • Documentación
  • Diseño de software

Puntos extras

Los siguientes puntos no son obligatorios, pero sumarán puntos extra:

  • Diseño visual de la solución
  • Mecanismo de despliegue

Entrega

Deberás enviarnos la url de tu app desplegada (disponible desde cualquier dispositivo conectado a internet) y la url del repositorio con el código fuente de tu app.

Por último, debes entregar un link con un video mostrando el funcionamiento de tu app, para ello puedes grabar un video utilizando Loom o aplicaciones similares.

Envia tu respuesta haciendo un POST HTTP a la URL https://recruiting.adere.so/chat, con el siguiente formato:


{
    "token": "LA TOKEN QUE ENVIAMOS A TU CORREO",
    "app_url": "URL_APP",
    "repo_url": "URL_REPO",
    "video_url": "URL_VIDEO",
}

Ejemplo de entrega

A continuación se muestra un ejemplo de cómo tendría que ser tu entrega. Los links a las app y al repo son falsos, pero en el link al video podrás ver un ejemplo real de app válida para el desafío que puedes usar de guía:


{
    "token": "mi_token_personal",
    "app_url": "https://mi-app.vercel.app",
    "repo_url": "https://github.com/user/mi-app",
    "video_url": "https://www.loom.com/share/3c34ef23b8784677ba7b34330f1d6f98",
}
< Regresar a vacantes