Skip to content

Venom-devX/ChatSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Venom's Chat - WebSocket Chat System em TypeScript

TypeScript WebSocket

Descrição

Venom's Chat é um sistema de chat em tempo real construído usando TypeScript e WebSocket, projetado para demonstrar a dinâmica de código, tipagem forte e estrutura modular.
Ele serve como um exemplo de projeto limpo e organizado, ideal para portfólio ou estudo de comunicação em tempo real.

Este projeto não possui autenticação de produção nem persistência de dados — o foco é mostrar habilidades de programação, tipagem e organização de módulos.


Funcionalidades

  • Conexão de múltiplos clientes via WebSocket
  • Autenticação simples por username
  • Envio de mensagens em tempo real para todos os clientes conectados
  • Diferenciação visual entre mensagens próprias e de outros usuários (via client HTML)
  • Estrutura modular de requests para fácil expansão de funcionalidades
  • Tipagem TypeScript rigorosa para payloads e clientes autenticados

Tecnologias Utilizadas

  • TypeScript — para tipagem forte e código limpo
  • Node.js — runtime para o servidor
  • ws — biblioteca de WebSocket para Node.js
  • HTML/CSS/JS — client simples para teste visual do chat

Como Usar

  1. Clone o repositório:
    git clone

  2. Instale as dependências:
    npm install ws

  3. Execute o servidor:
    ts-node index.ts

  4. Abra o client (client/index.html) no navegador e entre com um username.

  5. Envie mensagens e veja-as aparecer para todos os clientes conectados em tempo real.


Exemplo de Uso

Autenticação de usuário:

ws.send(JSON.stringify({ __request: "auth", __username: "Venom" }));

Enviar mensagem:

ws.send(JSON.stringify({ __request: "message", __message: "Olá, mundo!" }));

Mensagem recebida (JSON):

{  
  "__request": "message",  
  "__from": "Venom",  
  "__message": "Olá, mundo!"  
}

Objetivo do Projeto

Este projeto foi desenvolvido para demonstrar minhas habilidades com TypeScript e WebSocket, incluindo:

  • Tipagem avançada e modularização
  • Criação de payloads tipados
  • Gerenciamento de múltiplos clientes em tempo real
  • Estrutura limpa e escalável para futuras funcionalidades

Ele faz parte do meu portfólio de programação, servindo como exemplo da dinâmica de código e boas práticas.


Observações

  • Não possui persistência de mensagens ou banco de dados
  • Focado em demonstração de lógica de programação
  • Pode ser facilmente expandido com novas funcionalidades (ex: salas privadas, emojis, logs)

Feito com ❤️ por Venom

About

Hi, this is an open source code. Thanks for viewing this.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors