Skip to content

πŸš€ A sleek, ANSI-powered terminal chat ecosystem. Built with Java Multi-threading and Sockets. Includes /msg whispers, automated content guard, and real-time history logging.

License

Notifications You must be signed in to change notification settings

meetpotdar777/TermChat

Repository files navigation

πŸš€ TermChat: Professional Multi-Threaded Terminal Chat

Java Network Architecture UI License

TermChat is a high-performance, socket-based communication engine designed for real-time interaction. It leverages Java Multi-threading to manage concurrent users, featuring a custom-built Word Filter, Synchronized Logging, and Private Messaging protocolsβ€”all within a sleek terminal environment.

✨ Features

  • Multi-User Support: Powered by Java Multi-threading, allowing many users to chat simultaneously.
  • Private Whispers: Use /msg <username> <message> to send encrypted-style private texts.
  • Smart Word Filter: Automatically detects and censors banned words using regex-based filtering.
  • Server History Logs: Every public message and private whisper is recorded in chat_history.txt with timestamps.
  • ANSI Color Styling: A fully color-coded terminal interface for better readability and a "hacker" aesthetic.
  • Live User List: Check who is online in real-time with the /list command.
  • Automated Build System: Includes an "Ultimate Launcher" (run.bat) that compiles, builds JAR files, and launches the ecosystem in one click.

πŸ› οΈ Tech Stack

Layer Technology
Language Java 17+ (Core Networking)
Protocol TCP/IP (Transmission Control Protocol)
Concurrency Java Threads & Client Handlers
Data Java IO (Streams & Buffered Readers)
Automation Batch & Bash Scripting

πŸ“ Project Structure

TermChat/
β”œβ”€β”€ src/                  # Java Source Files
β”‚   └── com/termchat/
β”‚       β”œβ”€β”€ client/       # Client-side logic
β”‚       β”œβ”€β”€ server/       # Server-side & Multi-threading logic
β”‚       └── shared/       # Constants, Rules, and Word Lists
β”œβ”€β”€ bin/                  # Compiled Bytecode (.class files)
β”œβ”€β”€ chat_history.txt      # Automated Server Logs
β”œβ”€β”€ TermChat_Client.jar   # Executable Client Application
└── run.bat               # Master Build & Launch Script

🎨 Command Reference

Control the terminal like a pro:

🟒 /help - View rules and the command manual.

πŸ”΅ /list - See all users currently active on the server.

🟣 /msg - Send a private whisper to a user.

πŸ”΄ /quit - Safely terminate your session.


πŸš€ How to Run

Windows (One-Click)

  1. Navigate to the root folder.
  2. Double-click run.bat.
  3. The server will launch in a new window, and your client will start automatically.

Manual Launch (Cross-Platform)

  1. Compile: javac -d bin src/com/termchat/shared/*.java src/com/termchat/server/*.java src/com/termchat/client/*.java
  2. Start Server: java -cp bin com.termchat.server.TermServer
  3. Start Client: java -cp bin com.termchat.client.TermClient

  • Developer Note : This project was designed to demonstrate advanced networking concepts including Socket Programming, Thread Pooling, and Synchronized Collections.

πŸ‘¨β€πŸ’» Author

Meet Potdar Backend & Networking Developer

LinkedIn Portfolio


Built with ❀️ using Java Sockets & Multi-threading

About

πŸš€ A sleek, ANSI-powered terminal chat ecosystem. Built with Java Multi-threading and Sockets. Includes /msg whispers, automated content guard, and real-time history logging.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published