Skip to content

leonelSubelza/chat-app-v2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chat-App 📲📝✨

Aplicación de chat virtual que te sumerge en la experiencia única de comunicarte de manera virtual con amigos, colegas o nuevos conocidos. Con una interfaz amigable y funcionalidades robustas, Chat-App ofrece una plataforma versátil para conectar con personas de todo el mundo.

⭐ Características Principales

Personalización de Avatar y Nombre: Da vida a tu identidad virtual eligiendo un avatar único y personalizando tu nombre para que refleje tu estilo.

Unirse a Chats de Manera Sencilla:

  • Únete a conversaciones existentes simplemente copiando la URL de la sala o ingresando el ID correspondiente.

Crear Salas Privadas:

  • Conviértete en el administrador de tu propio espacio virtual creando salas privadas. Tendrás el control total sobre la administración de la sala.

Administración de Sala:

  • Como administrador, puedes designar a otros usuarios como administradores o aplicar medidas disciplinarias como banear y desbanear participantes según sea necesario.

Chat Grupal e Individual:

  • Disfruta de conversaciones animadas en el chat grupal o sumérgete en interacciones más privadas mediante mensajes directos.

📜 Cómo Empezar

Selecciona tu Avatar y Nombre:

  • En la pantalla de inicio, elige un avatar que represente tu personalidad y asigna un nombre para que otros te identifiquen.

Únete o Crea una Sala:

  • Únete a una sala existente copiando el link de otra sala creada o crea tu propia sala privada con un solo clic.

Administración de Sala:

  • Si eres administrador, gestiona la sala según tus preferencias. Designa nuevos administradores, banea usuarios no deseados o desbanéalos si es necesario.

Conversaciones Personalizadas:

  • Participa en charlas animadas en el chat grupal o inicia conversaciones privadas para una experiencia más íntima.

Comparte el link de tu sala creada:

  • Puedes compartir el link de tu sala a tus amigos para que se unan.

Tecnologías utilizadas 🔨

JAVA
JAVA
Spring Boot
Spring Boot
Spring Boot
WebSocket
GitHub
GitHub
JavaScript
TypeScript
JavaScript
React
HTML5
HTML5
CSS3
CSS3

🔧 Características técnicas

Backend 🔌

  • El sistema hace uso de la librería spring-boot-starter-websocket para la comunicación bidireccional entre el serividor y el cliente utilizando una arquitectura de tipo Rest para la organización de carpetas
  • Se hace uso del proyecto lombok para simplificar código.
  • La aplicación utiliza jwt para la seguridad de los endpoints en el backend
  • El backend funciona como un intermediario con los mensajes y eventos que ocurren en la aplicación, como conexiones, desconexiones, baneos, desbaneos, y además maneja un registro de qué salas están activas, qué usuarios están conectados y quiénes están baneados.

Frontend 💻

  • En el frontend se hace uso del hook useContext en gran medida para manejar la conexión con el web socket. También se usa otro context para manejar los datos del usuario durante el uso de la aplicación, tanto como para manejar los chats como sus datos de sesión.
  • Se hace uso de react-bootstrap para el uso de componentes como Modals.
  • Se incluyen librerías como sonner para los mensajes toast, react-tooltip para agregar información sobre algunos botones en el chat, se incluye un sonido de notificación ante un mensaje recibido
  • El frontend fue creado utilizando vite para un manejo más fluido y liviano de la aplicación
  • Se hace uso de typescript para un manejo más seguro y eficiente en el frontend.

🎮 Imágenes del sistema

:trollface:

Menú de inicio

Unirse a un chat

Elegir un avatar

Sala de chat

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •