Sobre este proyecto
it-programming / web-development
Abierto
Necesito desarrollar un mvp para un backend de mensajería similar a slack, con arquitectura multitentant.
En este proyecto se pretende obtener la primera versión, que permita probarla y luego iterar haciendo mejoras y agregando funcionalidades.
No es necesario que se implemente todo lo aquí detallado, pero la propuesta debe detallar claramente el alcance, es decir, que funciones o características estarán incluidas en el desarrollo.
Requisitos funcionales
Dentro de cada tentant, será posible tener múltiples usuarios y definir canales públicos (disponibles para todos los usuarios de un tenant), privados (por el momento es suficiente que quien crea el canal puede agregar a los usuarios, después se va a requerir tener administradores) y directos (uno a uno).
En un canal se debe poder enviar y responder mensajes, formando hilos de conversación.
Los mensajes pueden ser texto (requerido), imágenes, emoticones o archivos adjuntos (indicar claramente en la propuesta lo que se incluye).
Se debe registrar el estado de lectura del mensaje para cada usuario en el canal.
Debe existir un endpoint para obtener la lista de canales en los que participa el usuario actual, incluyendo la cantidad de mensajes no leídos en cada uno.
El backend debe implementar un método de autenticación y los mecanismos de seguridad recomendados según el lenguaje / plataforma seleccionados.
Requisitos no funcionales
Los lenguajes preferidos para el desarrollo son Go, Javascript/Typescript (Node) o Java (Spring). Sin embargo, se pueden analizar otras opciones.
Se espera recibir código limpio y bien estructurado.
No deben existir dependencias de servicios externos.
El proyecto no incluye el desarrollo de la UI pero se debe entregar la documentación del uso del backend y un cliente para probarlo (postman/similar o app personalizada).
El presupuesto indicado es meramente orientativo.
No serán consideradas propuestas que no expliquen como será implementado el proyecto y el alcance del mismo
Contexto general del proyecto
En este proyecto se desea realizar el primer sprint para desarrollar un backend de mensajería similar a Slack. La propuesta debe indicar el alcance, las herramientas y demás detalles de la solución propuesta.
Categoría Programación y Tecnología
Subcategoría Programación Web
¿Cuál es el alcance del proyecto? Crear un nuevo sitio personalizado
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo una idea
Disponibilidad requerida Según se necesite
Integraciones de API Cloud Storage (Dropbox, Google Drive, etc.)
Roles necesarios Programador
Plazo de Entrega: No definido
Habilidades necesarias