Skip to content

RAULG0MEZ/GoogleMeet

Repository files navigation

MeetControl Web

MeetControl Web ahora corre como app estatica en GitHub Pages, sin backend, sin base de datos, sin Render y sin LiveKit token server.

Arquitectura serverless

  • Frontend: Vite + React + TypeScript.
  • Hosting: GitHub Pages.
  • Media local: getUserMedia para camara/microfono.
  • Pantalla: getDisplayMedia.
  • Conexion remota: WebRTC P2P directo.
  • Senalizacion: manual por codigos copiados/pegados.
  • Datos locales: localStorage para nombre, dispositivos y preferencias.

Lo que funciona sin backend

  • Crear sala por enlace hash #/room/CODE.
  • Entrar por codigo o enlace.
  • Guardar nombre en localStorage.
  • Pre-join con preview real de camara.
  • Selector de camara, microfono y salida de audio.
  • Medidor de microfono.
  • Videollamada P2P real entre navegadores cuando se intercambian codigos WebRTC.
  • Audio/video reales.
  • Compartir pantalla real.
  • Chat P2P por RTCDataChannel.
  • Reacciones.
  • Levantar mano.
  • Puntero visual consentido por RTCDataChannel.
  • Sin participantes fake.
  • Sin llamadas fetch a backend.

Limitaciones honestas

GitHub Pages no puede aceptar conexiones WebSocket ni hacer senalizacion automatica. Por eso, sin backend no existen:

  • Lobby automatico con timbre remoto.
  • Admitir/rechazar en tiempo real antes de conectar.
  • Salas multiusuario comodas por link solamente.
  • TURN propio para redes dificiles.
  • Auditoria central.
  • Chat persistido.
  • Grabacion/transcripcion en servidor.
  • Control real de mouse/teclado del sistema operativo.

La version serverless usa P2P manual porque es la unica forma real de conectar navegadores sin servidor propio.

Flujo de uso

  1. Abre GitHub Pages.
  2. Escribe tu nombre.
  3. Crea una sala o entra por codigo.
  4. Activa permisos de camara/microfono.
  5. Entra a la sala P2P.
  6. Host presiona Host: crear oferta y manda el codigo al invitado.
  7. Invitado pega la oferta y presiona Invitado: crear respuesta.
  8. Invitado manda su respuesta al host.
  9. Host pega la respuesta y presiona Host: aceptar respuesta.
  10. Si la red lo permite, audio/video/chat quedan conectados P2P.

Desarrollo local

npm install
npm run dev

Abre:

http://localhost:5173/GoogleMeet/

Deploy

El deploy usa .github/workflows/pages.yml y no requiere variables de entorno.

Checks

npm run build

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors