A feature-rich Java-based GUI Chat Application supporting real-time messaging, group chats, active user tracking, and more. Built with Swing and Java networking for seamless client-server communication.
- About the Project
- Tech Stack
- Core Components
- Setup Instructions
- How It Works
- Screenshots
- Future Enhancements
- Contact
This is a fully functional GUI chat system built in Java. It allows users to:
- Log in via a GUI interface
- Send and receive messages in real-time
- Participate in group chats
- View and update online user lists dynamically
- See new users joining instantly
- Language: Java
- GUI Library: Swing
- Networking: Sockets (TCP)
- Architecture: Client-Server
- IDE: IntelliJ / Eclipse (Optional)
| Component | Description |
|---|---|
ChatServer.java |
Manages client connections, groups, message broadcasting, and online user tracking |
ChatClient.java |
GUI client to send/receive messages and interact with the server |
| GUI | Java Swing interface for chat and user lists |
-
Clone this repository:
git clone https://github.com/your-username/java-gui-chat-app.git cd java-gui-chat-app/src/chatapp -
Compile the server and client:
javac ChatServer.java javac ChatClient.java
-
Run the server:
java ChatServer
-
Run multiple clients:
java ChatClient
Login: Client connects to the server and registers the username.
Message Handling: All messages are sent to the server, which broadcasts them to all connected clients.
User Management: New users are automatically shown in the online list for every connected client.
Group Messaging: Clients can send messages to groups; the server handles correct routing.
Updates: Group list and user list are updated live.
Authentication with passwords
Persistent database (MySQL/PostgreSQL)
File sharing support
Private (one-to-one) messaging
Typing indicators and message status (sent, delivered, read)
