{"id":25388091,"url":"https://github.com/vishwajeetk5/mychat","last_synced_at":"2026-05-07T02:37:36.104Z","repository":{"id":276314178,"uuid":"866755107","full_name":"vishwajeetk5/Mychat","owner":"vishwajeetk5","description":"Chat Application Using WebSockets  Experience real-time chatting with our WebSocket-powered app! Built with Socket.io and Express.js, it features instant messaging, typing indicators, and sound notifications. Just clone the repo, start the server, and chat away across multiple devices!","archived":false,"fork":false,"pushed_at":"2025-02-07T13:08:50.000Z","size":212,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-15T12:45:13.260Z","etag":null,"topics":["chat-application","expressjs","socketio","webdevelopment","websocket"],"latest_commit_sha":null,"homepage":"https://mychat-kappa-two.vercel.app","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/vishwajeetk5.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-10-02T20:15:51.000Z","updated_at":"2025-02-07T13:08:54.000Z","dependencies_parsed_at":"2025-02-15T12:37:20.502Z","dependency_job_id":null,"html_url":"https://github.com/vishwajeetk5/Mychat","commit_stats":null,"previous_names":["vishwajeetk5/mychat"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishwajeetk5%2FMychat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishwajeetk5%2FMychat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishwajeetk5%2FMychat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishwajeetk5%2FMychat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vishwajeetk5","download_url":"https://codeload.github.com/vishwajeetk5/Mychat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248105389,"owners_count":21048514,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["chat-application","expressjs","socketio","webdevelopment","websocket"],"created_at":"2025-02-15T12:37:19.060Z","updated_at":"2026-05-07T02:37:31.079Z","avatar_url":"https://github.com/vishwajeetk5.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chat Application using WebSockets\n\n## Introduction\nThis project is a simple real-time chat application that uses WebSockets to enable two-way communication between a client and server. It leverages the power of Socket.io for real-time, event-driven communication, and Express.js as the backend framework.\n\n## About WebSockets\nWebSockets provide a full-duplex communication channel over a single TCP connection. This allows servers and clients to send messages to each other at any time, enabling real-time functionality like chats, notifications, or gaming.\n\n### Conventional Approach\nTypically, in a web application, communication between the client and server is handled via HTTP, which is stateless and request-driven. The client sends a request, and the server responds, ending the connection. However, this approach is not ideal for real-time applications where continuous communication is needed.\n\n### Disadvantages Overcome by WebSockets\nWith WebSockets, the client and server maintain a persistent connection, allowing bidirectional communication. This overcomes the traditional limitations of HTTP in real-time apps, like:\n- **Polling**: Constantly checking for updates leads to unnecessary load and delays.\n- **Latency**: WebSockets offer faster communication with lower latency, as messages are sent immediately.\n- **Scalability**: Efficient communication, reducing server load in real-time systems.\n\n## Working about Websockets\n\n![image](https://github.com/user-attachments/assets/1e4b66e5-99b0-4617-a738-caefabee5c20)\n\n## Installation\n\nInstall my-project with npm\n\n```bash\n  git clone https://github.com/vishwajeetk5/Mychat.git\n  cd Mychat\n  npm Install\n  npm start\n```\nThe server will be live on http://localhost:3000.\n## Output\n![alt text](image.png)\n\n## Usage\nOpen multiple browser tabs or connect from different devices to see real-time chat updates.\nThe client can send messages, and each message will be broadcasted to all other connected clients.\n\n## Application Features\n- Real-time Messaging: Instant message delivery between clients.\n- Typing Indicators: See when another user is typing.\n- Client Counter: Shows the number of connected clients.\n- Sound Notifications: A sound plays when a new message is received.\nBuilt With\n- Express.js: A minimal and flexible Node.js web application framework.\n- Socket.io: A JavaScript library for real-time web applications.\n- Moment.js: Used for date formatting and time calculations.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvishwajeetk5%2Fmychat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvishwajeetk5%2Fmychat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvishwajeetk5%2Fmychat/lists"}