🌐 Documentation translated into English
Este projeto é um chat usando o protocolo TCP.
- Testify: pacote usado para fazer os asserts nos testes.
- Go terminal size: usado para identificar quando o tamanho do terminal é alterado para fazer a adaptação da interface.
- Strip ANSI: utilizado para remover códigos de escape ANSI das strings usando regex.
⚠️ Para rodar o servidor tcp e o client será necessáro ter o docker instalado em sua máquina para subir os contêineres com suas respectivas imagens, portanto se estiver usando windows basta usar o terminal linux com o wsl, caso já esteja em um ambiente linux, simplismente execute os comandos em uma nova sessão do terminal.
Primeiramente faça o clone do projeto, antes verifique se tem o git instalado.
git clone https://github.com/Fabriciope/cli_chat.git cli-chat && cd cli-chat
Agora execute os scrips abaixo para a criar a rede utilizada na comunicação entre os clientes e o servidor, e também criar as imagens que serão utilizadas para subir os contêineres do servidor e do cliente.
./scripts/create_network.sh && \
./scripts/build_images.sh
Inicialize o servidor tcp executando o camando abaixo no seu terminal. Se você quiser subir o servidor em background para não precisar ver os logs adicione a flag -d
ao comando para que o contêiner inicie em modo detached.
docker run -it --network cli_chat --name cli_chat-server tcp_chat-server:prod
Para iniciar o chat do lado do cliente basta executar o comando abaixo trocando o <n>
por algum número que você queira identificar aquela instância,
faça isso a cada novo contêiner de cliente que você iniciar, os números não podem se repetir pois não pode haver dois contêineres com o mesmo nome.
Execute o comando abaixo em uma nova sessão do terminal para cada novo usuário do chat que você queira entrar.
docker run -it --network cli_chat --name cli_chat-client<n> tcp_chat-client:prod
Execute o comando abaixo em uma nova sessão do terminal pra ver todos os contêineres ativos no momento, tanto o do servidor quanto dos usuários que você iniciou.
docker container ls
Caso tenha terminado a execução do servidor ou de algum usuário e queira subir o contêiner novamente, execute o comando abaixo substituindo o <container name>
pelo nome do respectivo contêiner que você quer reiniciar, para visualizar os nomes execute o comando anterior novamente.
docker start -i <container name>
Contato: fabricioalves.dev@gmail.com
This project is a chat using the TCP protocol.
- Testify: package used to make asserts in tests..
- Go terminal size: used to identify when the terminal size is changed to adapt the interface.
- Strip ANSI: used to remove ANSI escape codes from strings using regex.
⚠️ To run the tcp server and the client you will need to have docker installed on your machine to upload the containers with their respective images, so if you are using windows just use the linux terminal with wsl, If you are already in a Linux environment, simply run the commands in a new terminal session.
First clone the project, first check if you have git installed.
git clone https://github.com/Fabriciope/cli_chat.git cli-chat && cd cli-chat
Now run the scripts below to create the network used in communication between clients and the server, and also create the images that will be used to upload the server and client containers.
./scripts/create_network.sh && \
./scripts/build_images.sh
Initialize the tcp server by running the command below in your terminal. If you want to run the server in the background so you don't need to see the logs, add the -d
flag to the command so that the container starts in detached mode.
docker run -it --network cli_chat --name cli_chat-server tcp_chat-server:prod
To start the chat on the client side, simply execute the command below, replacing the <n>
with any number that you want to identify that instance,
do this for every new client container you start, the numbers cannot be repeated as there cannot be two containers with the same name.
Run the command below in a new terminal session for each new chat user you want to join.
docker run -it --network cli_chat --name cli_chat-client<n> tcp_chat-client:prod
Run the command below in a new terminal session to see all currently active containers, both the server and the users you started.
docker container ls
If you have finished running the server or a user and want to upload the container again, run the command below replacing <container name>
with the name of the respective container you want to restart, to view the names run the previous command again.
docker start -i <container name>
contact: fabricioalves.dev@gmail.com