Modificación y Personalización de App de Chat

Job ID: 39204268

Budget: $2 – $8 USD

Modificación y Personalización de App de Chat al Estilo WhatsApp (Funcionalidades Avanzadas)

Descripción del Proyecto:
El código de la aplicación de chat tipo WhatsApp ha sido adquirido, pero es necesario realizar una serie de modificaciones para adaptarlo a los requerimientos específicos del cliente. El objetivo es personalizar la app con nuevas funcionalidades y mejoras que permitirán una experiencia más robusta y administrativa. A continuación se describen los cambios y adiciones que deben implementarse:

Requisitos y Funcionalidades a Implementar:

Sistema de Roles y Permisos:
Implementar un panel de administración para gestionar usuarios (crear, modificar, eliminar).
Definir roles de Usuario, Empleado y Admin, con la posibilidad de asignar y cambiar roles dentro de la app.
Los administradores podrán invitar a los usuarios a chats, grupos y listas de difusión.
Inicio de Sesión y Recordatorio de Sesión:
Integrar un sistema de autenticación que permita el inicio de sesión con usuario y contraseña.
Hacer que la app recuerde la sesión para evitar tener que iniciar sesión cada vez.
Modificación de Perfil:
Crear una opción para que los usuarios puedan modificar su foto de perfil, nombre, contraseña y configurar notificaciones.
Chats y Grupos:
Permitir la creación de chats privados, grupos y grupos de notificaciones (listas de difusión).
Restringir la capacidad de crear chats solo a los administradores, los usuarios comunes podrán unirse solo mediante invitación.
Notificaciones Push:
Implementar notificaciones push para avisos de nuevos mensajes, invitaciones a chats, entre otros.
Envío de Archivos y Multimedia:
Habilitar el envío de mensajes de texto, voz, imágenes, videos y stickers.
Utilizar la cámara para capturar imágenes y videos directamente desde la app.
Tiempos de Envío y Confirmación de Lectura:
Mostrar los ticks de "Enviado" y "Visto".
Mostrar la hora y fecha en la que se han enviado los mensajes.
Búsqueda Avanzada:
Implementar la opción de búsqueda dentro de chats y grupos.
Permitir la búsqueda de todos los chats y grupos existentes.
Exportación de Chats:
Habilitar la función de exportar chats, grupos y conversaciones completas.
Integración con Google Calendar:
Implementar una opción que permita agregar eventos directamente al calendario de Google desde los chats, como cuando se reciben invitaciones para reuniones.
Cifrado de Mensajes:
Asegurar que todos los mensajes y datos sean cifrados para garantizar la privacidad y seguridad de la información.
Conexión con Google Drive:
Permitir a los usuarios enviar archivos directamente desde Google Drive (carpetas o archivos) a través de la app.
Favoritos:
Permitir a los usuarios agregar hasta 10 chats, grupos o contactos a sus favoritos.
Compartir Chats y Grupos:
Implementar una opción para compartir chats, grupos o contactos mediante invitación (similar a WhatsApp).
Tecnología a Usar:

Backend: Node.js con Express.
Base de Datos: MongoDB (preferiblemente con MongoDB Atlas para escalabilidad).
Frontend (Mobile): React Native para Android e iOS.
Autenticación: Firebase Authentication (para la gestión de usuarios).
Notificaciones Push: Firebase Cloud Messaging (FCM).
Almacenamiento de Archivos: Firebase Storage o Amazon S3.
Integración con Google Calendar: Google Calendar API.
Cifrado de Mensajes: Utilizar bibliotecas como crypto-js para cifrado en el lado del cliente y servidor.
Despliegue: AWS o Google Cloud (dependiendo de la preferencia).
Presupuesto: El presupuesto estimado para la realización de estas modificaciones es de $100 USD.

Contratación: Se recomienda contratar un freelancer con experiencia en:

React Native (para la app móvil).
Node.js (para el backend).
MongoDB (para la base de datos).
Firebase (para la gestión de usuarios y notificaciones).