{"id":19560392,"url":"https://github.com/ashad001/rapidchat","last_synced_at":"2026-01-21T14:02:54.469Z","repository":{"id":235482110,"uuid":"775261161","full_name":"Ashad001/RapidChat","owner":"Ashad001","description":"A react + golang chat application","archived":false,"fork":false,"pushed_at":"2024-06-03T07:58:26.000Z","size":3834,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T00:45:51.366Z","etag":null,"topics":["backend","chat-application","golang","react","real-time-chat","rooms","websocket"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ashad001.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-21T03:42:28.000Z","updated_at":"2024-06-03T07:58:30.000Z","dependencies_parsed_at":"2024-06-03T09:54:07.526Z","dependency_job_id":null,"html_url":"https://github.com/Ashad001/RapidChat","commit_stats":null,"previous_names":["ashad001/rapidchat"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ashad001/RapidChat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashad001%2FRapidChat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashad001%2FRapidChat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashad001%2FRapidChat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashad001%2FRapidChat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ashad001","download_url":"https://codeload.github.com/Ashad001/RapidChat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashad001%2FRapidChat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28634786,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","chat-application","golang","react","real-time-chat","rooms","websocket"],"created_at":"2024-11-11T05:07:25.924Z","updated_at":"2026-01-21T14:02:53.951Z","avatar_url":"https://github.com/Ashad001.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RapidChat\n\nRapidChat is a real-time chat application. It allows users to join chat rooms, send messages, and interact with other users in real-time. The application is built using React for the frontend and Go for the backend.\n\n## Networking Implementation\n\nRapidChat leverages WebSocket technology for real-time communication between the client and server. WebSocket is a communication protocol that provides **full-duplex** communication channels over a single TCP connection. It enables interactive communication between a client and a server, allowing messages to be sent and received in real-time.\n\n### Frontend\n\nThe frontend of RapidChat is built using React. The frontend communicates with the backend server using WebSocket to send and receive messages. The `ChatSocket.js` file handles WebSocket communication with the server, allowing users to join chat rooms, send messages, and receive updates in real-time.\n\n### Backend\n\nThe backend of RapidChat is built using Go, a statically typed, compiled programming language. The backend server implements WebSocket functionality using the `github.com/gorilla/websocket` package. It manages WebSocket connections, maintains chat rooms, and facilitates communication between clients.\n\n- **WebSocket Server**: The backend server establishes a WebSocket server using the `github.com/gorilla/websocket` package. It listens for incoming WebSocket connections from clients and manages these connections using a connection pool.\n\n- **Connection Pool**: The backend maintains a connection pool to manage WebSocket connections from multiple clients. When a client connects to the server, its WebSocket connection is added to the connection pool. The server broadcasts messages to all clients in the pool, allowing real-time communication between users.\n\n- **Message Handling**: The backend server handles incoming messages from clients and broadcasts them to other clients in the same chat room. It also sends notifications to clients when users join or leave the chat room.\n\n## Getting Started\n\nTo run the RapidChat application locally, follow these steps:\n\n1. Clone the repository.\n2. Navigate to the `frontend` directory and run `npm install` to install dependencies.\n3. Run `npm start` to start the frontend server.\n4. Navigate to the `go-backend` directory and run `go run main.go` to start the backend server.\n\n## Technologies Used\n\n- **Frontend**: React, JavaScript, WebSocket\n- **Backend**: Go, WebSocket\n- **Package Manager**: npm/yarn (for frontend), Go modules (for backend)\n\n## Example\n\n![Example](./reports/example.gif)\n\n## Acknowledgements\n\n- [Tutorial: Building a Real-Time Chat App with React and Go](https://tutorialedge.net/projects/chat-system-in-go-and-react/)\n- [ereid7: go-react-Chat](\u003chttps://github.com/ereid7/go-react-chat\u003e)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashad001%2Frapidchat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashad001%2Frapidchat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashad001%2Frapidchat/lists"}