Chat Client

A terminal-based chat client written in C++ using ncurses and WebSockets. Lightweight, fast, and compatible with the JS ChatApp server.

Project Gallery

Chat Client screenshot

Chat Client screenshot

Project Overview

C++ Chat Client

A simple WebSocket-based chat client in C++ with an ncurses interface. Compatible with JS ChatApp. App screenshotApp screenshot

Features

  • Terminal-based UI with ncurses
  • Split-screen layout with chat messages, user list and input area
  • Join or create chat rooms
  • See active users in rooms
  • Message timestamps
  • Chat history scrolling
  • Resizable interface that adapts to terminal dimensions

Building

Dependencies

  • IXWebSocket library
  • nlohmann/json library
  • ncurses library
  • SSL/TLS support

Install Dependencies and Build

# Install dependencies
make deps

# Build the client
make

# Optionally install
sudo make install

Commands

  • /join <room> <username> - Join a room with specified username
  • /help - Show available commands
  • /rooms - Show available rooms on the server
  • /exit - Exit the application

UI Navigation

  • Arrow keys to scroll through chat history
  • Type messages in the input area at the bottom
  • Status information displayed in the bottom status bar

Related Projects

Supermicro PSU Monitor: Reading Telemetry on Consumer Hardware

Supermicro PSU Monitor: Reading Telemetry on Consumer Hardware

Complete monitoring solution for enterprise Supermicro PSUs on consumer motherboards. Read real-time telemetry (Power, RPM, Temperature, Voltage) via Arduino with Prometheus/Grafana dashboards.

Asteroids game

Asteroids game

Try to stay alive as long as possible while asteroids and UFOs fly by trying to destroy you!

ChatApp

ChatApp

A minimal, lightning-fast chat app with room-based conversations. Built with Node.js, Express, and WebSockets.