PHP Classes

File: README.md

Recommend this page to a friend!
  Classes of Rodrigo Faustino   Chat SSE   README.md   Download  
File: README.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: Chat SSE
Exchange chat messages using server-sent events
Author: By
Last change:
Date: 1 month ago
Size: 2,156 bytes
 

Contents

Class file image Download

Chat em Tempo Real com PHP e FastAPI

Este projeto implementa um sistema de chat em tempo real utilizando PHP e FastAPI. Ele inclui a integração do padrão Observer com Server-Sent Events (SSE) para notificação em tempo real e permite a interação com um banco de dados compartilhado entre as duas tecnologias.

Tecnologias Utilizadas

  • PHP
  • FastAPI (Python)
  • Server-Sent Events (SSE)
  • MySQL (ou outro banco de dados relacional)
  • JavaScript
    ## Estrutura do Projeto
    /appphp
    /src
        Chat.php
        Database.php
    send_message.php
    sse.php
    /apppython
    /app
        main.py
        routes/
            message_routes.py
        models/
            message.py
        database/
            database.py
    requirements.txt
    
    ## Padrão Observer e Server-Sent Events
  • Padrão Observer O padrão Observer é um padrão de design comportamental que define uma dependência um-para-muitos entre objetos, permitindo que quando um objeto muda de estado, todos os seus dependentes sejam notificados e atualizados automaticamente. Neste projeto, usamos o padrão Observer para notificar os usuários do chat sobre novas mensagens.
  • Server-Sent Events (SSE) SSE é uma tecnologia que permite que o servidor envie atualizações automáticas para o navegador. Utilizamos SSE para implementar a comunicação em tempo real entre o servidor e o cliente, enviando mensagens do servidor para o navegador assim que elas são adicionadas ao banco de dados. https://developer.mozilla.org/pt-BR/docs/Web/API/Server-sent_events/Using_server-sent_events ## Configuração do Projeto
  • Configuração do PHP Instalação das Dependências Certifique-se de ter o Composer instalado e execute:
composer install

Configuração do Banco de Dados Crie o banco de dados e a tabela de mensagens:

CREATE TABLE `messages` (
  `id` int NOT NULL AUTO_INCREMENT,
  `message` text NOT NULL,
  `usuario` varchar(50) NOT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
)

executar o servidor python

na pasta do projeto

pip install -r requeriments.txt

python main.py

<img src="chat.PNG">