Este é um projeto de chat que utiliza tecnologias como Spring Boot, WebSockets, Redis, Gradle, Java 17, Docker, Auth0, MongoDB, Nginx, HTML, JS e CSS. O objetivo é criar um chat em tempo real que permite a comunicação entre os usuários através de uma interface web.
Aqui estão as principais tecnologias usadas no projeto:
O projeto é dividido em duas partes principais: o backend e o frontend.
O backend é desenvolvido em Spring Boot e utiliza WebSockets para permitir a comunicação em tempo real entre os clientes. Além disso, é implementada a proteção utilizando o JWT do Auth0 e Tickets para garantir a autenticação dos usuários. O padrão Pub/Sub é adotado utilizando o Redis para otimizar a troca de mensagens entre os diferentes componentes do sistema.
O backend também é responsável por interagir com o banco de dados MongoDB para salvar e recuperar alguns dados dos usuários.
O frontend é desenvolvido utilizando HTML, JS e CSS para criar uma interface web simples de chat. Ele se conecta ao backend através de WebSockets para enviar e receber mensagens em tempo real.
Para executar o projeto, siga os passos abaixo:
-
Certifique-se de ter o Docker instalado em sua máquina.
-
Clone este repositório.
-
No terminal, navegue até o diretório do projeto e execute o seguinte comando para iniciar o backend, Frontend e o banco de dados:
docker-compose up -d --build
-
Acesse o frontend em seu navegador através do endereço:
https://localhost
. -
Agora, você pode utilizar o chat em tempo real para se comunicar com outros usuários conectados.
demo-chat-2023-07-30_17.25.50.mp4
Este projeto demonstra o uso de várias tecnologias modernas para criar um chat em tempo real escalável e altamente disponível. Sinta-se à vontade para explorar o código-fonte e adaptá-lo para suas próprias necessidades.
Se tiver alguma dúvida ou encontrar algum problema, sinta-se à vontade para entrar em contado em danielfalcao.df@gmail.com
Divirta-se codificando! 🚀