https://github.com/sasmithx/chat_application_socket_progrmming
This project is a simple chat application built using Java Socket programming. It features a client-server architecture, enabling real-time text and image communication between multiple clients. The application also includes an emoji picker, allowing users to send emojis in their chat messages.
https://github.com/sasmithx/chat_application_socket_progrmming
client-server css fxml intellij-idea java javafx maven sdk web-socket
Last synced: 6 months ago
JSON representation
This project is a simple chat application built using Java Socket programming. It features a client-server architecture, enabling real-time text and image communication between multiple clients. The application also includes an emoji picker, allowing users to send emojis in their chat messages.
- Host: GitHub
- URL: https://github.com/sasmithx/chat_application_socket_progrmming
- Owner: sasmithx
- License: mit
- Created: 2024-01-18T14:56:34.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-22T14:28:33.000Z (over 1 year ago)
- Last Synced: 2025-04-02T14:03:02.774Z (9 months ago)
- Topics: client-server, css, fxml, intellij-idea, java, javafx, maven, sdk, web-socket
- Language: Java
- Homepage:
- Size: 1.73 MB
- Stars: 14
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# PLAY TECH PVT LTD.
This project is a simple chat application built using Java Socket programming. It features a client-server architecture, enabling real-time text and image communication between multiple clients. The application also includes an emoji picker, allowing users to send emojis in their chat messages.
## Table of Contents
- Features
- Technologies Used
- Setup
- How to Run
- Usage
- Screenshots
- Contributing
- License
- Contact
## Features
- Real-time text communication between clients.
- Ability to send and receive images.
- Emoji picker for sending emojis in chat.
- User authentication based on a simple name validation.
- Responsive and intuitive user interface.
## Technologies Used
- **Java:** Core programming language.
- **JavaFX:** Used for the graphical user interface.
- **Socket Programming:** Used for client-server communication.
- **FXML:** For defining the UI layout.
- **CSS:** For styling the UI components.
## Setup
To set up the project locally, follow these steps:
**1.** **Clone the repository:**
```bash
https://github.com/sasmithx/Chat_Application_Socket_Progrmming.git
```
**2.** **Import the project:**
- Open your favorite IDE (like IntelliJ IDEA, Eclipse, or NetBeans).
- Import the project as a Maven/Gradle project.
- Ensure that the JavaFX library is properly configured in your IDE.
**3.** **Configure JavaFX:**
- Download JavaFX SDK if you haven't already.
- Configure the JavaFX SDK path in your project settings.
## How to Run
**1.** **Run the Server:**
- Run the Server.java file to start the server.
- The server will start listening on port 5003 by default.
**2.** **Run the Client:**
- Run the ClientController.java file to start the client.
- Enter your username in the login screen.
- Start chatting with other connected clients.
## Usage
- **Login:** Enter a username (between 4 and 15 alphabetic characters) to join the chat.
- **Send a Message:** Type your message in the input field and press enter or click the send button.
- **Send an Image:** Click on the image icon to select and send an image.
- **Send an Emoji:** Click on the emoji icon to select and send an emoji.
- **Receive Messages:** All incoming messages, images, and emojis will be displayed in the chat window.
## Screenshots


## Contributing
Contributions are welcome! Please fork this repository and submit a pull request with your changes.
## License
This project is licensed under the MIT License - see the [MIT License](LICENSE) file for details.
##