This repository contains a Chat Room Application built using advanced Java technologies. The project is designed to demonstrate the integration of real-time communication, data management, and a user-friendly interface, all implemented using core and advanced Java concepts.
- Intuitive User Interface: Designed with JavaFX to provide a seamless user experience.
- Real-Time Communication: Implemented using Socket Programming to allow users to send and receive messages in real time.
- Efficient Data Management: Utilized JDBC and SQL for managing user data, message history, and other persistent data efficiently.
- Multi-Threaded Interaction: Supports concurrent interactions, enabling multiple users to communicate simultaneously without performance issues.
- JavaFX: For building the graphical user interface.
- JDBC: For database connectivity.
- SQL: To manage and query data efficiently.
- Socket Programming: For implementing the chat's real-time communication features.
- Multi-Threading: To optimize the server and client interaction for concurrent users.
- Performance Optimization: The server is designed to handle multiple client connections simultaneously using multi-threading, ensuring smooth communication without delays.
- Collaborative Development: This project provided hands-on experience in collaborative software development, mimicking real-world professional workflows.
- Skill Development: Improved proficiency in advanced Java programming concepts and practical implementation.
-
Clone the Repository:
git clone https://github.com/gawadx1/chatting-room-by-javafx.git cd chatting-room-by-javafx
-
Set Up the Database:
- Import the provided SQL scripts (found in the
database
folder) to create the necessary database and tables. - Update the database connection details in the application.
- Import the provided SQL scripts (found in the
-
Build and Run:
- Use your preferred IDE (e.g., IntelliJ IDEA, Eclipse) to import the project.
- Compile and run the
Server
class to start the server. - Compile and run the
Client
class to start the client application.
-
Test the Application:
- Start multiple instances of the client application to test real-time communication.
Contributions are welcome! If you have ideas to improve this project, feel free to fork the repository and submit a pull request.
This project is licensed under the MIT License.
Enjoy using the Chat Room Application! If you have any questions or issues, feel free to reach out.