Skip to content

danieljhkim/Terminal-Chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terminal-Chat

A simple command-line chat application built with Go, consisting of a chat server and a CLI client.


Features

  • Real-time messaging between multiple clients within terminal
  • Cross-platform compatibility

termical-chat

Commands

  • chat-cli init: Initialize configuration file (username and server address)
  • chat-cli -h: Show help information
  • chat-cli rooms list: List all available rooms
  • chat-cli rooms join <room>: Join or create a specific room
  • chat-cli dm send <username> <message>: send a direct message to a user
  • chat-cli dm list: list all direct messages

Requirements

  • Computer with a terminal
  • Go 1.19 or higher

Usage

  1. Clone the repository:
git clone https://github.com/danieljhkim/Terminal-Chat.git
cd Terminal-Chat
  1. Build the project:
# Install dependencies
make deps

# Build binaries of server and cli
make build
  1. Install cli binary to your system:
make install-cli

# if using pc, adjust Makefile to install to /usr/local/bin
  1. Run the server:
make run-server
  1. 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

TODO's

  • Implement user authentication & TLS
  • Implement friend system
  • Implement rate limiting

Acknowledgments

  • Built with Cobra for CLI framework
  • Uses Viper for configuration management
  • Github Copilot

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Chat application right within your terminal, because why not?

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published