Repolode
SAMA-Communications

SAMA-Communications/sama-server

Servidor de chat basado en uWebSockets.js que ofrece una alternativa a XMPP, con backend en Node.js, MongoDB y Redis.

Estrellas
161
Forks
16
Issues abiertos
3
Último commit
el mes pasado

¿Qué es?

SAMA es un servidor de chat y un protocolo de mensajería diseñado como alternativa a XMPP, el estándar de larga trayectoria para la mensajería instantánea. El servidor está escrito en JavaScript sobre Node.js y utiliza uWebSockets.js para gestionar WebSocket. Almacena los datos en MongoDB y usa Redis para el estado del clúster.

El servidor ofrece API para usuarios, conversaciones, mensajes, actividades, agendas de contactos y notificaciones push. Los clientes oficiales para web y Flutter están disponibles en repositorios separados, y se ofrece una demo alojada para probar la pila completa.

Los nodos de un clúster se detectan entre sí mediante registros en Redis, abren conexiones WebSocket entre ellos y eliminan los datos que dejan los nodos que ya no están disponibles.

Funciones clave

  • 01Servidor de chat basado en uWebSockets.js y Node.js
  • 02Utiliza MongoDB para el almacenamiento y Redis para coordinar el clúster
  • 03Ofrece API para usuarios, conversaciones, mensajes y notificaciones push
  • 04Admite clústeres de varios nodos con detección y reconexión automáticas
  • 05Incluye una API de agenda de contactos y una API de actividades

Casos de uso

  • Crear un backend de chat autohospedado como alternativa a XMPP
  • Ejecutar un servicio de mensajería que se distribuya entre varios nodos de Node.js
  • Prototipar un producto de chat con clientes web o Flutter existentes

Antes de usarlo

  • Requiere MongoDB y Redis como dependencias del backend.
  • Está bajo la licencia GPL-3.0, una licencia copyleft que impone obligaciones para las obras derivadas.
  • El README remite a documentación externa para el desarrollo local y el despliegue, en lugar de incluir instrucciones de configuración.

Temas

Preguntas frecuentes

¿Qué es sama-server?
Servidor de chat basado en uWebSockets.js que ofrece una alternativa a XMPP, con backend en Node.js, MongoDB y Redis. SAMA es un servidor de chat y un protocolo de mensajería diseñado como alternativa a XMPP, el estándar de larga trayectoria para la mensajería instantánea. El servidor está escrito en JavaScript sobre Node.js y utiliza uWebSockets.js para gestionar WebSocket. Almacena los datos en MongoDB y usa Redis para el estado del clúster.
¿sama-server es gratuito? ¿Qué licencia tiene?
sama-server es open source bajo la licencia GPL-3.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿sama-server sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de sama-server fue el 5 oct 2026.
¿Para qué puedo usar sama-server?
Crear un backend de chat autohospedado como alternativa a XMPP Ejecutar un servicio de mensajería que se distribuya entre varios nodos de Node.js Prototipar un producto de chat con clientes web o Flutter existentes
¿Dónde consigo sama-server?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/SAMA-Communications/sama-server

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados