Alumnado CEBEM
Plataforma de comunicacion entre usuarios
Alumno/a: Pedro Lourido Romero
Dispeak
Descripción del proyecto
Dispeak es una aplicación de comunicación en tiempo real inspirada en Discord y TeamSpeak: servidores, canales de texto y voz, mensajes directos, roles, permisos e invitaciones.
Está pensada para equipos y comunidades pequeñas o medianas que necesitan chat, voz y moderación básica en una sola plataforma, accesible desde navegador, escritorio (Windows) y Android(estaba muy verde y por eso no lo enseñe).
El proyecto se desarrolla como monorepo con arquitectura cliente–servidor: una interfaz web moderna consume una API REST y conexiones en tiempo real, con voz mediante WebRTC y LiveKit. Características principales
Servidores y canales
Creación y gestión de servidores con icono y banner personalizables.
Canales de texto y canales de voz, organizados en categorías.
Sistema de invitaciones para unirse a un servidor.
Roles y permisos granulares (ver canal, enviar mensajes, unirse a voz, hablar, moderar, etc.).
Registro de auditoría de acciones de moderación.
Chat y mensajería
Mensajes en tiempo real con historial, edición y borrado.
Hilos (respuestas en hilo), citas y reacciones con emoji.
Adjuntos (imágenes y archivos).
Formato Markdown en mensajes.
Búsqueda de mensajes dentro de un servidor.
Indicadores de mensajes no leídos en canales y DMs.
Indicador de “está escribiendo…”.
Mensajes directos y amigos
Lista de amigos, solicitudes de amistad y bloqueos.
Conversaciones 1 a 1 con las mismas capacidades de chat (adjuntos, invitaciones a servidor, etc.).
Voz y vídeo
Chat de voz en canales dedicados.
Dos modos de audio:
Mesh P2P (WebRTC) para grupos pequeños (baja latencia, sin servidor de medios).
LiveKit (SFU) para cámara, compartir pantalla o sesiones con más participantes.
Controles de silencio, push-to-talk, presencia en canal (quién está conectado, quién habla).
Moderación de voz (silenciar en servidor, expulsar de voz, etc.).
Asistente de voz (“Ey Dispeak”)
Activación por frase de despertar, estilo asistente tipo Siri.
Comandos por voz: ir a amigos o a un servidor, crear servidor/canal, unirse a voz, enviar mensajes en canales,
silenciarse, ayuda, etc.
Transcripción con Groq Whisper e interpretación de intención con LLM.
Perfil y personalización
Perfil de usuario (nombre, avatar, banner).
Tema claro/oscuro y preferencias de idioma (español / inglés).
Ajustes de audio (cancelación de eco, supresión de ruido, push-to-talk).