Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mohamed-adel23/real-time-chat-app
This application is a scalable, real-time chat system built using modern web technologies and distributed systems principles.
https://github.com/mohamed-adel23/real-time-chat-app
backend chat-application database distributed-systems docker frontend http-server real-time redis server-side software-engineering websocket
Last synced: about 17 hours ago
JSON representation
This application is a scalable, real-time chat system built using modern web technologies and distributed systems principles.
- Host: GitHub
- URL: https://github.com/mohamed-adel23/real-time-chat-app
- Owner: Mohamed-Adel23
- Created: 2024-09-17T16:57:18.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-19T11:55:33.000Z (4 months ago)
- Last Synced: 2024-11-28T09:16:54.352Z (2 months ago)
- Topics: backend, chat-application, database, distributed-systems, docker, frontend, http-server, real-time, redis, server-side, software-engineering, websocket
- Language: JavaScript
- Homepage: https://bnadel.hashnode.dev/building-a-scalable-real-time-chat-application-a-journey-through-websockets
- Size: 1.09 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Real-Time Distributed Chat Application
A scalable, real-time chat application built with WebSockets, HAProxy, and Redis.
> You can check the blog post from [**here**](https://bnadel.hashnode.dev/building-a-scalable-real-time-chat-application-a-journey-through-websockets)
## Features
- Real-time messaging using WebSockets
- Load balancing with HAProxy
- Distributed message handling with Redis pub/sub
- Simple web interface for chat
- Dockerized components for easy deployment## Prerequisites
- Docker for containerization
- Node.js (for local development)## Installation
1. Clone the repository:
```
git clone https://github.com/Mohamed-Adel23/Real-Time-Chat-App.git
cd live-chat
```2. Build the Docker images:
```
docker build -f Dockerfile.front -t chatfront .
docker build -f Dockerfile.back -t wsapp .
```## Running the Application
1. Start the application using Docker Compose:
```
docker-compose up
```2. Access the chat application in your web browser:
```
http://localhost:1007
```## Project Structure
- `chat-front/`: Contains the web interface
- `app/`: WebSocket server implementation
- `haproxy/`: HAProxy configuration
- `docker-compose.yml`: Defines the multi-container Docker application## Contributing 🚀
Contributions are welcome! Please feel free to submit a Pull Request 😇
## Author
- [Mohamed Adel Elsayed](https://www.linkedin.com/in/mohamed2-adel/)