A simple command-line chat application built with Go, consisting of a chat server and a CLI client.
- Real-time messaging between multiple clients within terminal
- Cross-platform compatibility
chat-cli init: Initialize configuration file (username and server address)chat-cli -h: Show help informationchat-cli rooms list: List all available roomschat-cli rooms join <room>: Join or create a specific roomchat-cli dm send <username> <message>: send a direct message to a userchat-cli dm list: list all direct messages
- Computer with a terminal
- Go 1.19 or higher
- Clone the repository:
git clone https://github.com/danieljhkim/Terminal-Chat.git
cd Terminal-Chat- Build the project:
# Install dependencies
make deps
# Build binaries of server and cli
make build- Install cli binary to your system:
make install-cli
# if using pc, adjust Makefile to install to /usr/local/bin- Run the server:
make run-server- Open a new terminal and run the client:
# initialize chat-cli config
chat-cli init
# join/create a chat room
chat-cli rooms join room_name- Implement user authentication & TLS
- Implement friend system
- Implement rate limiting
- Built with Cobra for CLI framework
- Uses Viper for configuration management
- Github Copilot
This project is licensed under the MIT License - see the LICENSE file for details.
