Sobre este proyecto
it-programming / mobile-development
Abierto
1. Descripción corta de Backend de Chat
Backend de Chat es una plataforma web empresarial basada en laravel, nodejs, mysql y redis, que centraliza la mensajería de WhatsApp Business mediante APIs oficiales, permitiendo a empresas gestionar conversaciones, automatizaciones y atención al cliente desde un entorno seguro.
Backend de Chat concentra toda la lógica de autenticación, autorización, mensajería y control de acceso, funcionando como la única fuente de verdad del sistema.
2. Descripción y objetivo del requerimiento
El objetivo es desarrollar una aplicación móvil Lite, disponible para Android e iOS, que permita a los usuarios de Backend de Chat acceder a sus conversaciones desde dispositivos móviles de forma segura, controlada y eficiente.
La aplicación móvil funcionará como un cliente autorizado, consumiendo las APIs existentes de Backend de Chat, sin replicar lógica de negocio, almacenará localmente historial de conversaciones descargadas previamente y mantendrá actualizadas las conversaciones recientes. La aplicación manejará correctamente los diferentes escenarios de conectividad, reanudará conexiones automáticamente y sincronizará sólo los datos faltantes.
Backend de Chat Web continuará siendo la única fuente de verdad del sistema.
Resultado esperado
3. Flujo general y modelo de seguridad (AUTORIZACIÓN por dispositivo)
la seguridad del sistema se basa en un modelo de autorización por dispositivo, diseñado para garantizar que:
• sólo el usuario legítimo pueda acceder a sus datos.
• El acceso esté limitado a dispositivos previamente autorizados.
• Las credenciales principales del usuario no se utilicen en la app móvil.
3.1 Acceso a la app móvil
1. El usuario inicia sesión en Backend de Chat Web.
2. Desde una sección de seguridad o perfil, genera una clave de acceso móvil de un solo uso.
3. Esta clave:
o Es temporal.
O Tiene tiempo de expiración.
O Es válida únicamente para la aplicación móvil.
4. El usuario abre la app móvil e ingresa:
o Usuario o email.
O Clave de acceso móvil.
5. El backend valida la clave y:
o La invalida inmediatamente.
O Registra el dispositivo como autorizado.
O Emite un token de sesión móvil.
________________________________________
3.2 Sesión móvil y control de acceso
• El token de sesión:
o Está asociado al usuario, cuenta y dispositivo.
O Tiene permisos limitados exclusivamente a funcionalidades de chat.
O No puede utilizarse para acceder a la aplicación web.
• La sesión puede:
o Persistir entre reinicios de la app.
O Ser revocada desde Backend de Chat Web.
• Cada solicitud desde la app móvil debe incluir:
o Token válido.
O Identificador del dispositivo.
O Contexto de cuenta autorizada.
Este modelo asegura que los datos sólo puedan consultarse desde dispositivos móviles previamente autorizados por el usuario.
4. Arquitectura y separación de responsabilidades
La arquitectura del sistema se basa en una separación clara de responsabilidades entre backend y aplicación móvil.
4.1 Backend (Backend de Chat Web)
El backend es responsable de:
• Autenticación y autorización.
• Validación de tokens y dispositivos.
• Control de permisos por usuario y cuenta.
• Gestión completa de mensajes, conversaciones y estados.
• Decidir qué datos se envían a la app móvil y cuándo.
El backend nunca expone datos fuera del contexto del usuario autenticado.
________________________________________
4.2 Aplicación móvil (Flutter)
La aplicación móvil:
• No contiene lógica de negocio.
• No decide permisos ni accesos.
• No almacena mensajes de forma permanente sin cifrado.
• Actúa únicamente como interfaz de visualización e interacción.
Toda la información que muestra la app:
• Proviene del backend.
• Está previamente validada y autorizada.
• Está limitada al alcance del usuario autenticado.
5.1 Login
• Login con clave móvil de un solo uso.
• Asociación del dispositivo.
• Persistencia segura de sesión.
• Logout.
5.2 Selección de cuenta
• Visualización de cuentas disponibles para el usuario.
• Activación de una cuenta por sesión.
5.3 Lista de conversaciones
• Obtención desde la API.
• Ordenadas por actividad.
• Actualización en tiempo real.
• Filtros dinámicos.
O Según tipo de asignación
o Etapas
o Pendientes / Completados
o Leídos / No leídos
• Paginación: grupos de 50 conversaciones.
• Marcar como leída o no leída.
5.4 Chat individual
• Visualización de mensajes.
• Envío de mensajes de texto.
• Estados de mensaje (si el backend los provee).
• Funcionalidades:
o Enviar y recibir mensajes.
Texto.
Multimedia.
Audios.
O Crear y enviar notas de voz.
O Enviar, recibir y programar plantillas.
O Enviar y recibir respuestas rápidas.
O Transferir conversación.
O Cambiar etapas.
O Editar datos de cliente.
• Paginación: grupos de 50 mensajes.
5.5 Buscador de conversaciones
• Consulta de chats y conversaciones.
• Filtros.
Categoría Programación y Tecnología
Subcategoría Programación de Apps. Android, iOS y otros
¿Cuál es el alcance del proyecto? Crear una aplicación nueva
Plazo de Entrega: No definido
Habilidades necesarias