Isco81

WebSocket Chat App: A Simple and Fast Chat Application πŸŒπŸ’¬

WebSocket Chat App

Table of Contents

Overview

The WebSocket Chat App is a lightweight browser-based chat application. It uses WebSocket technology to enable real-time communication between users. This project includes both a client and server, making it easy to set up and run on your local machine. You can download the latest release here.

Features

Technologies Used

This project utilizes a variety of technologies to deliver a smooth experience:

Installation

To get started with the WebSocket Chat App, follow these steps:

  1. Clone the Repository:
    git clone https://github.com/Isco81/websocket-chat-app.git
    cd websocket-chat-app
    
  2. Install Dependencies:
    npm install
    
  3. Run the Application: To start the server and client concurrently, run:
    npm run dev
    
  4. Access the App: Open your browser and navigate to http://localhost:3000 to use the chat application.

You can download the latest release here if you prefer a pre-built version.

Usage

Once the application is running, you can:

  1. Enter your username in the input field.
  2. Type your message in the chat box.
  3. Press β€œSend” to deliver your message to all connected users.

Messages will appear in real-time as they are sent. You can open multiple tabs or browsers to simulate different users.

Project Structure

The project is organized in a monorepo format. Here’s a breakdown of the main directories:

websocket-chat-app/
β”œβ”€β”€ client/          # Contains the React frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ public/
β”‚   └── package.json
β”œβ”€β”€ server/          # Contains the Node.js backend
β”‚   β”œβ”€β”€ src/
β”‚   └── package.json
└── package.json      # Root package.json for npm workspaces

Client

The client folder contains all the React components, styles, and assets. The main entry point is src/index.js.

Server

The server folder contains the WebSocket server code. The main file is src/server.js, which handles incoming connections and message broadcasting.

Contributing

Contributions are welcome! If you want to contribute to this project, please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/YourFeature).
  3. Make your changes.
  4. Commit your changes (git commit -m 'Add some feature').
  5. Push to the branch (git push origin feature/YourFeature).
  6. Open a pull request.

Please ensure your code adheres to the project’s coding standards and includes appropriate tests.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

For any inquiries or issues, feel free to reach out:

For updates and new releases, check the Releases section.