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.
- 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.txtwith 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
/listcommand. - Automated Build System: Includes an "Ultimate Launcher" (
run.bat) that compiles, builds JAR files, and launches the ecosystem in one click.
| 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 |
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 ScriptControl 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.
- Navigate to the root folder.
- Double-click
run.bat. - The server will launch in a new window, and your client will start automatically.
- Compile:
javac -d bin src/com/termchat/shared/*.java src/com/termchat/server/*.java src/com/termchat/client/*.java - Start Server:
java -cp bin com.termchat.server.TermServer - 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
Built with β€οΈ using Java Sockets & Multi-threading
