Skip to content

ecorreas/Chat-Application

Repository files navigation

Chat-Application

Foi proposto que fizémos uma aplicação de chat no componente curricular de Redes de Computadores. A aplicação deveria ser obrigatoriamente implementada utilizando API de sockets (TCP ou UDP).

Sumário

  1. Tecnologia
  2. Compilação
  3. Atores
  4. Casos de uso
  5. Componentes
  6. Diagramas de sequência
  7. Protocolo

🚀 Tecnologia

Esse projeto foi desenvolvido com as seguintes tecnologias:

  • Flutter: Framework para desenvolvimento multiplataforma
  • Dart: Linguagem de programação
  • Provider: Biblioteca para gerenciamento de estados da aplicação

Dart foi a linguagem de programação utilizada para desenvolver o produto proposto. Em conjunto com a linguagem será utilizado o framework Flutter para que seja possível o desenvolvimento de uma interface Desktop, disponível para o sistema operacional Windows, onde o usuário do sistema terá acesso às funcionalidades. Como protocolo da camada de transporte será utilizado TCP já que o mesmo em comparação com UDP oferece mais confiabilidade na entrega de datagramas, o que é de suma importância para uma aplicação de chat de conversa.

Compilação

OBS. esta aplicação foi desenvolvida apenas para máquinas com o sistema operacional Windows.

  1. Siga os passos de instalação do Framework Flutter clicando aqui.
  2. Clone esse repositório com git no terminal do SO com o comando git clone https://github.com/ecorreas/Chat-Application.git.
  3. Após o clone do repositório, abra o projeto clonado no VS Code.
  4. Instale as dependências executando o comando flutter packages get ou flutter pub get no terminal dentro do seu diretório do projeto (provavelmente afd_system).
  5. Abra apartir do terminal a pasta localizada em "/lib/app/mock/"
  6. Execute o seguinte comando dart run create_server.dart para executar o servidor
  7. Por fim volte ao VSCode e execute o comando flutter run ou aperte F5 (modo debug) para executar o app desktop.

Atores

Figura 1. Diagrama de casos de uso

Casos de uso

A Tabela 1 apresenta os casos de usos de forma priorizada, onde os casos de uso definidos com prioridade alta deverão ser apresentados na versão final do produto desenvolvido diferentemente dos casos de uso com prioridade média e baixa que poderão ou não ser apresentados na entrega final do produto.

Tabela 1. Priorização de casos de uso

Componentes

Figura 2. Diagrama de componentes

Diagramas de sequência

UC01-Identificação

Figura 3. Diagrama de sequência do UC01-Identificação

UC02-Iniciar conversa

Figura 4. Diagrama de sequência do UC02-Iniciar conversa

UC03-Visualizar conversas

Figura 5. Diagrama de sequência do UC03-Visualizar conversas

Protocolo

ClienteAClienteB
RequestMensagemResponseMensagem
connect()iniciar conexãoget()receber mensagem
write()enviar mensagem

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •