Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/varsharani9/multiuser-chat-application

This repo contains a MULTIUSER-CHAT-APPLICATION which is build using Java, Swing GUI, JDBC, Multithreading, Socket Programming and Design Patterns.
https://github.com/varsharani9/multiuser-chat-application

java multithreading socket-programming swing-gui windowbuilder

Last synced: 4 days ago
JSON representation

This repo contains a MULTIUSER-CHAT-APPLICATION which is build using Java, Swing GUI, JDBC, Multithreading, Socket Programming and Design Patterns.

Awesome Lists containing this project

README

        

# Multiuser Chatting Application in Java

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.

# Features

*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.

# Technologies Used

*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.

# Login/Register Screen -

![image](https://github.com/VarshaRani9/MultiUser-ChatApplication/assets/127414456/bf4facb1-f0d7-405c-be4a-b550d863f624)

# Screen for starting the group chat -

![image](https://github.com/VarshaRani9/MultiUser-ChatApplication/assets/127414456/a7cc8f50-8d1b-4826-8127-ed097d62c745)

# Chatting Screen -

![image](https://github.com/VarshaRani9/MultiUser-ChatApplication/assets/127414456/4f05ec0f-e156-41ef-b363-6a5c8b09f92a)