Skip to content

EmersonJr/Group_Chat_Project

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chat em Grupo


💬 Sobre o projeto

Esse documento é um relatório do Primeiro Projeto de Aplicação da Disciplina de Redes da Universidade de Brasília. Com o objetivo de colocar em pratica o conhecimento teórico a respeito de Programação com Sockets, Paradigma de Cliente e Servidor e Sistemas de Redes, o grupo desenvolveu uma Aplicação de Chat em grupo utilizando esses conceitos e desenvolvendo uma interface simples para demonstrar as funcionalidades.


🛠 Tecnologias

A aplicação foi desenvolvida utilizando a linguagem de programação Python e alguns pacotes desenvolvidos com a mesma linguagem. Para a comunicação entre clientes e o servidor, utilizamos sockets fornecidos pela biblioteca socket e configurados com especificações para seguir o protocolo TCP de transporte. Devido à necessidade de alguns processos da aplicação funcionarem simultaneamente a outros, precisávamos utilizar threads por meio da biblioteca “threading”. Na parte do cliente, utilizamos também o Tkinter para criar a interface principal, além do auxílio do “Pillow” para a renderização das imagens em um chat, do “PyGame” para tocar áudios e da biblioteca “re” para algumas validações por meio de expressões regulares (como a de e-mail). Além disso, optamos por utilizar a programação orientada a objetos tanto no cliente quanto no servidor para encapsular melhor as funcionalidades comuns a um usuário, um grupo, etc.

Pacotes necessários:

    pip install Pillow
    pip install pygame

Iniciar o servidor

    cd server
    py main.py

Iniciar o cliente

    cd client
    py main.py

Funcionalidades

O usuário pode trocar mensagens diretamente com outro usuário ou em um grupo. Para participar de um grupo, o usuário deve pedir para entrar, ser convidado ou criar seu próprio grupo. Ao criar um grupo, o usuário poderá receber notificações de pedidos para entrar em seu grupo, além das notificações de convite para grupos que qualquer usuário pode receber. Na troca de mensagens, os usuários poderão enviar imagens e áudios. As telas desenvolvidas para o projeto estão disponíveis abaixo.

Home

Login

Sign Up

Tela Inicial

Informações do Grupo

Informações Pessoais

Notificação

Convidar Usuários

Criar Grupos

Chat

💻 Autores

Isabela Sousa
Isa Sousa

Maycon Fabio
Lucas Lima

Emerson Junior
Emerson Junior

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%