A multi-client real-time group chat application built in Java, inspired by characters from the Naruto anime series.
This desktop application uses Java Socket Programming, AWT/Swing, and multithreading to enable seamless communication between multiple users, each themed as a unique ninja from the Leaf Village.
This project showcases a real-time multi-user chat application GUI built using Java Swing.
- Custom anime-themed chat window titled The Leaf Village
- Top bar displaying user avatars, chat name, and participants
(Itachi, Naruto, Obito, Sasuke, Kakashi) - Messages displayed in chat bubble format with timestamps
- Custom Leaf Village background image
- Multiple users actively sending and receiving messages
This interface effectively demonstrates both networking and GUI design skills in a creative and themed manner.
- Multithreaded Server – Handles multiple client connections simultaneously
- Real-Time Chat – Messages broadcast instantly to all connected users
- Custom GUI – AWT/Swing-based UI with background images, rounded chat bubbles, and timestamps
- User Personalization – Predefined characters (Itachi, Naruto, Sasuke, Obito, Kakashi)
- Themed Interface – Naruto’s Leaf Village theme for enhanced visual engagement
- Java
- Java AWT & Swing
- TCP Socket Programming
- Multithreading
- Object-Oriented Design
- Listens on port 2003
- Creates a new thread for every connected client
- Maintains a list of active client writers
- Broadcasts incoming messages to all users
- GUI-based client programs representing different characters
- Connect to the server using TCP sockets
- Send and receive messages in real time
- Custom UI styling with background images and timestamps
- Strong understanding of Java networking protocols
- Hands-on experience with multithreading and concurrency
- Real-time synchronization between threads and UI updates
- Client–server architecture design
- Custom GUI development using Java Swing
-- Steps to Run
- Clone the Repository git clone https://github.com/hariniguptaemmadi/GroupChat-Application.git cd GroupChat-Application
- Open in your IDE Open the project folder in your preferred Java IDE.
- Compile the Java Files Ensure all .java files (e.g., Server.java, Client.java) are compiled.
- Run the Server Start the Server.java class first to initialize the server. You can run it via terminal or IDE: java Server
- Run the Client(s) Then run Client.java. You can open multiple instances to simulate multiple clients joining the chat. java Client
-- Notes
- Make sure the port number in Server.java and Client.java matches.
- Ensure your firewall or antivirus doesn't block the Java network connection.
- The UI is built using Java Swing.
-
Add dynamic login/signup with custom usernames.
-
Include file/image sharing support.
-
Implement basic encryption for message privacy.
-
Chat history log.
Harini Emmadi