This is a multiuser chatting application developed in Java, utilizing various concepts such as GUI programming, socket programming, JDBC, MySQL, multithreading, and design patterns. The application allows multiple users to connect and communicate with each other in real-time.
User registration and login: Users can create new accounts and log in to the application.
Chat rooms: Users can join different chat rooms and communicate with other users in the same room.
Real-time messaging: Users can send and receive messages in the chat rooms.
Message BroadCasting: Message from any user is broadcasted to all users/clients.
Persistent data storage: User information(registered users) are stored in a database using JDBC.
Java: The core programming language used for developing the application.
Swing: A Java GUI toolkit used for creating the graphical user interface.
Socket Programming: TCP/IP sockets are used for network communication between the client and server.
JDBC (Java Database Connectivity): Used for connecting and interacting with the database.
Multithreading: Multiple threads are utilized to handle simultaneous client connections and improve performance.
Window Builder: A powerful and popular GUI designer tool for Java applications.
Design Patterns: Various design patterns such as Singleton, Observer, and Factory may be used to enhance the application's structure and maintainability.