{"id":23033732,"url":"https://github.com/theemperorofdaiviet/socket.io-chat-example","last_synced_at":"2026-04-07T20:32:10.086Z","repository":{"id":185373597,"uuid":"673462343","full_name":"theEmperorofDaiViet/socket.io-chat-example","owner":"theEmperorofDaiViet","description":"A basic chat application to get started with Socket.IO","archived":false,"fork":false,"pushed_at":"2023-09-12T09:58:02.000Z","size":5091,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T22:11:58.316Z","etag":null,"topics":["chat-app","css3","expressjs","html5","javascript","nodejs","realtime","socket-io","websocket"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/theEmperorofDaiViet.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":"2023-08-01T17:19:08.000Z","updated_at":"2025-03-28T17:18:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"3defa6de-8674-43dc-980c-85d5e746391c","html_url":"https://github.com/theEmperorofDaiViet/socket.io-chat-example","commit_stats":null,"previous_names":["theemperorofdaiviet/socket.io-chat-example"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/theEmperorofDaiViet/socket.io-chat-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theEmperorofDaiViet%2Fsocket.io-chat-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theEmperorofDaiViet%2Fsocket.io-chat-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theEmperorofDaiViet%2Fsocket.io-chat-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theEmperorofDaiViet%2Fsocket.io-chat-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theEmperorofDaiViet","download_url":"https://codeload.github.com/theEmperorofDaiViet/socket.io-chat-example/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theEmperorofDaiViet%2Fsocket.io-chat-example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31528359,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"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":["chat-app","css3","expressjs","html5","javascript","nodejs","realtime","socket-io","websocket"],"created_at":"2024-12-15T16:18:13.374Z","updated_at":"2026-04-07T20:32:10.066Z","avatar_url":"https://github.com/theEmperorofDaiViet.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#key-features\"\u003eKey Features\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n# About The Project\nA basic chat application to get started with Socket.IO\n\n## Built With\n* [![HTML5][HTML5-shield]][HTML5-url]\n* [![CSS3][CSS3-shield]][CSS3-url]\n* [![JavaScript][JavaScript-shield]][JavaScript-url]\n* [![Node.js][Node.js-shield]][Node.js-url]\n* [![Express][Express-shield]][Express-url]\n* [![Socket.IO][Socket.IO-shield]][Socket.IO-url]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n# Getting Started\n\n## Prerequisites\nBefore cloning and using this application, you'll need to install these things on your computer:\n* [Node.js](https://nodejs.org/en/download/): a single-threaded, open-source, cross-platform runtime environment for building fast and scalable server-side and networking applications. It runs on Chrome's V8 JavaScript runtime engine, and it uses event-driven, non-blocking I/O architecture, which makes it efficient and suitable for real-time applications.\n* [Express](https://expressjs.com/): fast, unopinionated, minimalist web framework for Node.js.\n    ```sh\n    npm install express\n    ```\n* [Socket.IO](https://socket.io/): a library that enables \u003cb\u003elow-latency\u003c/b\u003e, \u003cb\u003ebidirectional\u003c/b\u003e and \u003cb\u003eevent-based\u003c/b\u003e communication between a client and a server. It is built on top of the WebSocket protocol and provides additional guarantees like fallback to HTTP long-polling or automatic reconnection.\n    ```sh\n    npm install socket.io\n    ```\n* [Visual Studio Code](https://code.visualstudio.com/download): You can choose any IDE or Text Editor that you want. To build a simple application like this, I recommend \u003cb\u003eVisual Studio Code\u003c/b\u003e.\n\n## Installation\nYou can install this application by cloning this repository into your current working directory:\n```sh\ngit clone https://github.com/theEmperorofDaiViet/socket.io-chat-example\n```\nAfter cloning the repository, you can open the project by Visual Studio Code.\n\nOpen a terminal and type this command:\n```sh\ncd src\nnode index.js\n```\nThen open two or more browser windows for \u003ci\u003ehttp://localhost:3000/\u003c/i\u003e, enter some messages in each of them and see the result!\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n# Key Features\n- Realtime chat.\n- Support for nicknames.\n- Broadcast a message to connected users when someone connects or disconnects.\n- Don’t send the same message to the user that sent it. Instead, append the message directly as soon as they press enter.\n- “{user} is typing” functionality.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n# Usage\nI use a conversation from Chapter 10 of the manga \"\u003cb\u003e\u003ci\u003eBocchi the Rock!\u003c/i\u003e\u003c/b\u003e\" to illustrate how this chat application works:\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"public/images/examples/example.gif\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n# Contact\n\nYou can contact me via:\n* [![GitHub][GitHub-shield]][GitHub-url]\n* [![LinkedIn][LinkedIn-shield]][LinkedIn-url]\n* ![Gmail][Gmail-shield]:\u0026nbsp;\u003ci\u003eKhiet.To.05012001@gmail.com\u003c/i\u003e\n* [![Facebook][Facebook-shield]][Facebook-url]\n* [![Twitter][Twitter-shield]][Twitter-url]\n\n\u003cbr/\u003e\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- Tech stack --\u003e\n[HTML5-shield]: https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge\u0026logo=html5\u0026logoColor=white\n[HTML5-url]: https://www.w3.org/html/\n[CSS3-shield]: https://img.shields.io/badge/css3-%231572B6.svg?style=for-the-badge\u0026logo=css3\u0026logoColor=white\n[CSS3-url]: https://www.w3.org/Style/CSS/\n[JavaScript-shield]: https://img.shields.io/badge/JavaScript-323330?style=for-the-badge\u0026logo=javascript\u0026logoColor=F7DF1E\n[JavaScript-url]: https://www.ecma-international.org/\n[Node.js-shield]: https://img.shields.io/badge/node.js-6DA55F?style=for-the-badge\u0026logo=node.js\u0026logoColor=white\n[Node.js-url]: https://nodejs.org\n[Express-shield]: https://img.shields.io/badge/express.js-%23404d59.svg?style=for-the-badge\u0026logo=express\u0026logoColor=%2361DAFB\n[Express-url]: https://expressjs.com/\n[Socket.IO-shield]: https://img.shields.io/badge/Socket.io-010101?\u0026style=for-the-badge\u0026logo=Socket.io\u0026logoColor=white\n[Socket.IO-url]: https://socket.io/\n\n\u003c!-- Contact --\u003e\n[GitHub-shield]: https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge\u0026logo=github\u0026logoColor=white\n[GitHub-url]: https://github.com/theEmperorofDaiViet\n[LinkedIn-shield]: https://img.shields.io/badge/linkedin-%230077B5.svg?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white\n[LinkedIn-url]: https://www.linkedin.com/in/khiet-to/\n[Gmail-shield]: https://img.shields.io/badge/Gmail-D14836?style=for-the-badge\u0026logo=gmail\u0026logoColor=white\n[Facebook-shield]: https://img.shields.io/badge/Facebook-%231877F2.svg?style=for-the-badge\u0026logo=Facebook\u0026logoColor=white\n[Facebook-url]: https://www.facebook.com/Khiet.To.Official/\n[Twitter-shield]: https://img.shields.io/badge/Twitter-%231DA1F2.svg?style=for-the-badge\u0026logo=Twitter\u0026logoColor=white\n[Twitter-url]: https://twitter.com/KhietTo","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheemperorofdaiviet%2Fsocket.io-chat-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheemperorofdaiviet%2Fsocket.io-chat-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheemperorofdaiviet%2Fsocket.io-chat-example/lists"}