This is a simple chat client side implemented in Go, using WebSockets for real-time communication. It is made to be anonymous if wanted, and no data is being saved to a database, which makes it both lightweight and secure. This is just the client side, and will not function properly without the server (IM-cli-chat-server)
This project is primarily made for IM at Elvebakken Upper Secondary School, and hosted at a VM on our server. The downside of this, is that it can only be accessed to people on the same network as the VM, or by using a VPN. You could open a port to the public, but for security reasons, I chose to have it run locally on our network.
This is the client side part of the IM-cli-chat project. The server side repo is here.
- Have go version 1.22.1 (may work on different versions) installed on your system. (If you choose to run program using go)
- Have git installed on your system (if you choose to run program using go).
- OS cabable of running executables (MacOS, Linux(?)) (if you choose to run program using the built executable in the repo)
- Clone this repo (
git clone https://github.com/ivermoka/IM-cli-chat-server
)
- Download the executable from this repo (enter file then click download)
- Run it locally (MacOS & Linux:
./IM-cli-chat
)
- This client side program is used to connect to the server (IM-cli-chat-server
- Once connected, clients can send messages to the server, which will be broadcasted to all connected clients.
- WebSocket-based communication
- Real-time messaging
- CLI program (used in terminal)
- gocui: A GUI implementation for go.
Contributions are welcome! If you'd like to contribute to this project, feel free to open an issue or submit a pull request.