Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/varsharani9/multiuser-chat-application
- Owner: VarshaRani9
- Created: 2023-06-16T04:48:30.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-06-17T14:45:15.000Z (over 1 year ago)
- Last Synced: 2024-11-14T11:17:00.326Z (4 days ago)
- Topics: java, multithreading, socket-programming, swing-gui, windowbuilder
- Language: Java
- Homepage:
- Size: 2.29 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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)