Skip to content

Latest commit

 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chat a Bit Logo

Chat a Bit é uma aplicação de mensagens instantâneas baseada em arquitetura cliente-servidor, desenvolvida como projeto acadêmico para a disciplina de Redes de Computadores da UFRPE.
O sistema utiliza sockets TCP para comunicação em tempo real, com autenticação segura, persistência em banco de dados e interface gráfica desktop.


Tecnologias Utilizadas




Funcionalidades

  • Comunicação em tempo real
    Troca de mensagens instantâneas entre usuários conectados via sockets TCP.

  • Cadastro e autenticação segura
    Senhas criptografadas utilizando a biblioteca bcrypt.

  • Persistência de dados
    Armazenamento de usuários e histórico de mensagens em banco de dados PostgreSQL.

  • Indicadores de status
    Visualização de usuários online/offline e indicação visual de digitação.

  • Interface gráfica customizada
    Desenvolvida com CustomTkinter, incluindo cursores personalizados e notificações internas.

  • Distribuição portátil
    Geração de executável único (.exe) com Splash Screen integrada via PyInstaller.


Demonstração da Interface

Tela de Login

Tela de Login

Tela de Cadastro

Tela de Cadastro

Chat Principal

Chat Principal


Estrutura do Projeto

chat_a_bit/
├── assets/             # Recursos visuais (ícones, imagens, cursores)
├── banco_de_dados/     # Scripts de criação e conexão com PostgreSQL
├── config/             # Arquivos de configuração do sistema
├── interface/          # Janelas e componentes da interface gráfica
├── rede/               # Implementação de sockets (cliente e servidor)
├── utils/              # Funções auxiliares e tratamento de caminhos
└── main.py             # Ponto de entrada da aplicação cliente

Instalação e Execução

Pré-requisitos

  • Python 3.10 ou superior
  • PostgreSQL ativo e configurado

Clonar o repositório

git clone https://github.com/EllenRocha1/chat_a_bit.git
cd chat_a_bit

Instalar dependências

pip install -r requirements.txt

Configurar o banco de dados

Configure as credenciais do PostgreSQL em:

config/config.py

Execute o script de criação das tabelas:

python -m banco_de_dados.criar_banco

Execução

Iniciar o servidor

python rede/server.py

Iniciar o cliente (interface gráfica)

python main.py

Compilação (Executável)

Para gerar um executável único com suporte a recursos internos e Splash Screen:

pyinstaller --noconfirm --onefile --windowed `
--name "Chat a Bit" `
--icon "assets/icone_gato.ico" `
--splash "assets/icone_gato.png" `
--add-data "assets;assets" `
--add-data "banco_de_dados;banco_de_dados" `
--add-data "config;config" `
--add-data "interface;interface" `
--add-data "rede;rede" `
--add-data "utils;utils" `
"main.py"

O executável final será gerado na pasta dist/.

Autoria

Desenvolvido por Ellen Rocha

Chat a Bit Cat

About

Aplicação de chat cliente-servidor em Python com sockets TCP, interface gráfica desktop e banco de dados. Projeto acadêmico – Redes de Computadores (UFRPE).

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages