#### Functional
##### Try running `"./TCPChat"`.
###### Is the server listening for connections on the default port?
##### Try running `"./TCPChat" 2525 localhost`.
```
[USAGE]: ./TCPChat $port
```
###### Did the server respond with usage, as above?
##### Try running `"./TCPChat 2525"`.
###### Is the server listening for connections on the port 2525?
##### Try opening 3 terminals, run on the first terminal the command `"./TCPChat <port>"` and on the second and third terminal run the command `"nc <host ip> <port>"`.
###### Do both clients connect to the server with success?
##### Try creating a server and 2 Clients.
###### Did the server respond with a linux logo and ask for the name?
##### Try creating a server and 2 Clients.
###### Do all Clients receive a message informing them that the Client joined the chat?
##### Try creating a server and 2 Clients and send a message using the first Client.
###### Does the second Client receive the message?
##### Try creating a server and 1 Client and send some messages using this Client. Then create a new Client.
###### Can the new Client see all the previous messages?
##### Try creating a server and 3 Clients and send a message using the second Client.
###### Did all the Clients (first, second and third) received the same message?
##### Try creating a server and use 2 or 3 different computers and create one Client for each computer.
###### Did the server/Clients connect with success?
##### Try creating a server and 4 Clients and disconnect one of the Clients.
###### Do the rest of the Clients stay connected?
##### Try creating a server and 3 Clients and disconnect one of the Clients.
###### Do the rest of the Clients receive a message notifying that the Client left?
##### Try creating a server and 3 Clients. Then send messages between the Clients.
```
[2020-01-20 15:48:41][client.name]:[client.message]
```
###### Are the messages identified by the name of each Client and the time that the messages were sent, as above?
###### Are the connections between server and Clients well established?
###### Does the project present go routines?
###### Does the project use channels or mutexes?
##### Are the students using only the allowed packages?
###### As an auditor, is this project up to every standard? If not, why are you failing the project?(Empty Work, Incomplete Work, Invalid compilation, Cheating, Crashing, Leaks)
#### General
###### +Can the Clients change their names?
###### +Is the chat group informed if a Client changes his name?
###### +Does the server produce logs about Clients activities?
###### +Are the server logs saved into a file?
###### +Is there more NetCat flags implemented?
###### +Does the project present a Terminal UI using JUST this package : https://github.com/jroimartin/gocui?
#### Basic
###### +Does the project runs quickly and effectively? (Favoring recursive, no unnecessary data requests, etc...)
###### +Does the code obey the [good practices](../../good-practices/README.md)?
###### +Is there a test file for this code?
#### Social
###### +Did you learn anything from this project?
###### +Can it be open-sourced / be used for other sources?
###### +Would you recommend/nominate this program as an example for the rest of the school?