Skip to content

A local terminal based chat app written in bash

Notifications You must be signed in to change notification settings

luatil/bash-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

1.1. O servidor de chat

  • ./chatbacana.sh servidor deve inicializar o servidor

  • Uma vez inicializado, o servidor deve exibir na tela um propt aguardando os comandos do usuario

      servidor>
    
  • list - lista os nomes de todos os usuarios logados, um por linha.

  • list - nenhum usuario nao lista nada

  • time - informa o intervalo de tempo desde que o servidor foi iniciado

  • time - informa o intervalo de tempo em segundos

  • reset - remove todos os usuarios que foram criados nessa instancia de execucao

  • quit - finaliza o servidor

  • quit - remove todos os arquivos temporarios

Reset e quit soh serao executados se nao houverem clientes conectados

1.2 O cliet de chat

Os clientes serao iniciados apos o servidor ser iniciado.

  • ./chatbacana.sh cliente deve inicializar o cliente

  • Uma vez iniciado os usuarios serao recebidos por

      cliente>
    
  • create - cria um novo usuario e senha

  • create - So podem ser perdidas enquanto o servidor executar um reset ou quit

  • create - Se o usuario ja existir, a string ERRO deve ser impressa

  • passwd : altera a senha de antiga para nova.

  • passwd : se o usuario nao existir a string ERRO devo ser impressa

  • passwd : se a senha estiver errada a string ERRO deve ser impressa

  • login : loga como o com a senha .

  • login : se o usuario nao existir, a string ERRO deve ser impressa

  • login : se a senha estiver errada, a string ERRO deve ser impressa

  • login : se o usuario ja estiver logao, a string ERRO deve ser impressa

  • list: lista o nome de todos os usuarios logados, inclusive do proprio usuario

  • list: se o usuario nao estiver logado, imprimir erro

EX: cliente> list bilbo frodo

  • logout: desloga do sistema mas nao encerra a execucao do cliente

  • logout: se o usuario nao estiver logado, imprimir erro

  • msg : escreve na tela do a

  • msg : se o usuario nao estiver logao, imprimir ERRO

  • msg : na tela do a mensagem deve ser exibida da seguinte forma: [Mensagem do ]:

  • msg : se o remetente nao estiver logado, imprimir erro

  • msg : pode conter espacos

EX: cliente> msg frodo olah, vamos para valfenda? cliente>

<terminal do frodo>
cliente> [Mensagem do bilbo]: msg frodo olah, vamos para valfenda?
cliente>
  • quit: o usuario pode dar quit e voltar para o terminal
  • quit: da logout

EX: servidor> list bilbo frodo servidor>

<terminal do bilbo>
cliete> quit
/tmp$ 

<terminal do servidor>
servidor> list
frodo
servidor>

OBS: o unico parametro que pode conter espacos eh mensagem. Nenhum parametro pode conter tabulacoes ou quebras de linha.

  1. Requisitos
  • Arquivos temporarios devem ser criados em /tmp
  • Certifique-se que os usuarios tem permissao
  • Todos os arquivos criados devem ser removidos quando os clientes e o servidor forem encerrados

About

A local terminal based chat app written in bash

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages