WP Manifestindependent plugin directory
manifest / social / intranet-user-chat

Intranet User Chat

Base arquitetural para chat interno entre usuarios logados.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/markovivas/intranet-user-chat/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Plugin base para um chat interno entre usuarios autenticados, com foco em conversa privada, mensagens nao lidas e experiencia parecida com mensageiros corporativos estilo MSN.

Objetivo da arquitetura

  • Conversa entre usuarios logados
  • Caixa de entrada com mensagens nao lidas
  • Entrega de mensagens pendentes ao entrar no sistema
  • Estrutura preparada para evoluir de polling para tempo real
  • Implementacao desacoplada do tema

Estrutura inicial

  • intranet-user-chat.php: bootstrap do plugin
  • includes/class-intranet-user-chat-plugin.php: orquestracao principal
  • includes/class-intranet-user-chat-installer.php: criacao futura de tabelas e opcoes
  • includes/class-intranet-user-chat-rest-controller.php: endpoints REST planejados
  • includes/class-intranet-user-chat-service.php: regras de negocio do chat
  • includes/class-intranet-user-chat-repository.php: acesso ao banco
  • assets/css/chat.css: estilos base
  • assets/js/chat.js: bootstrap de frontend
  • templates/chat-shell.php: container visual do chat

Modelo ideal

Fase 1

  • Conversas privadas 1:1
  • Lista de usuarios pesquisavel
  • Caixa de conversa
  • Indicador de nao lidas
  • Polling leve

Fase 2

  • Presenca online
  • Digitando...
  • Som/notificacao
  • Janela flutuante estilo MSN

Fase 3

  • Grupos
  • Anexos
  • WebSocket
  • Moderacao e auditoria

Banco de dados sugerido

  • wp_iuc_threads

    • id
    • type (direct, futuro group)
    • created_at
    • updated_at
  • wp_iuc_thread_participants

    • id
    • thread_id
    • user_id
    • last_read_message_id
    • joined_at
  • wp_iuc_messages

    • id
    • thread_id
    • sender_user_id
    • message_text
    • message_type
    • created_at
    • edited_at
    • deleted_at

Fluxo recomendado

  1. Usuario A abre o chat
  2. Plugin busca threads do usuario
  3. Usuario A envia mensagem para usuario B
  4. Mensagem fica persistida
  5. Usuario B recebe badge de nao lidas ao navegar ou entrar novamente
  6. No futuro, WebSocket substitui o polling sem quebrar a camada de servico

Proximo passo recomendado

Implementar as tabelas do plugin e os endpoints REST para:

  • listar conversas
  • listar mensagens por conversa
  • enviar mensagem
  • marcar como lida