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

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.

Awesome Lists containing this project

README

          

![Logo](https://github.com/sasmithx/Chat_Application_Socket_Progrmming/blob/master/src/main/resources/assests/Client-Server-Network-Model.jpg)

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

##








© 2024 Sasmith Manawadu