Chat Multilingue

Arquitetura Técnica

Imagem padrão
Ouvir conteúdo
Clique para ouvir o texto completo

4. Arquitetura Técnica

Esta seção descreve os componentes técnicos que formam a base do MODE-CHAT-003, incluindo banco de dados, arquivos do sistema, estrutura de comunicação e lógica geral de funcionamento.

4.1 Estrutura da Tabela chat_privado

O módulo utiliza uma única tabela para armazenar mensagens, traduções e metadados.

sql
CREATE TABLE chat_privado ( id INT AUTO_INCREMENT PRIMARY KEY, usuario VARCHAR(100) NOT NULL, mensagem TEXT NOT NULL, traducao TEXT, data_hora DATETIME DEFAULT CURRENT_TIMESTAMP );

Campos:

CampoTipoDescrição
id INT Identificador único da mensagem
usuario VARCHAR(100) Nome ou ID do usuário remetente
mensagem TEXT Texto original enviado
traducao TEXT Tradução automática da mensagem
data_hora DATETIME Registro automático da data e hora do envio

4.2 Arquivos e Componentes do Sistema

ArquivoFunção
chat_privado.php Interface do chat (frontend) com HTML, JS e AJAX
backend/chat_privado_backend.php Backend do sistema com envio, tradução e leitura de mensagens
../../config/database.php Configuração de conexão PDO com o banco de dados

Extras:

  • O sistema depende de uma API externa de tradução (LibreTranslate)

  • O arquivo error.log é criado automaticamente no backend para registrar falhas


4.3 Fluxo de Dados

1. Envio de Mensagem

  • Usuário digita e envia mensagem

  • JS envia dados via fetch() ao backend (action=send)

  • Backend valida, traduz e armazena no banco

  • Retorna JSON com a tradução e confirmações

2. Recebimento de Mensagens

  • A cada 5 segundos, o frontend envia action=fetch

  • Backend retorna as 50 mensagens mais recentes do usuário

  • Interface renderiza mensagens e traduções


4.4 Comunicação Frontend e Backend

Comunicação feita via fetch() com Content-Type: application/x-www-form-urlencoded.
As ações suportadas são:

action=send

Envia a mensagem original, traduz, armazena e responde com a tradução.

Parâmetros:

  • usuario

  • mensagem

  • sourceLang

  • targetLang

  • csrf_token

action=fetch

Retorna as últimas mensagens do usuário com traduções e timestamps.

Parâmetros:

  • usuario

  • csrf_token

Tire suas dúvidas

Cecília Romani
Cecília Romani

Especialista em Numismática

Tire suas dúvidas com Cecília Romani sobre este capítulo pelo WhatsApp.

Falar com Cecília

Comentários

Área de comentários em breve...