{"id":13495653,"url":"https://github.com/luixaviles/socket-io-typescript-chat","last_synced_at":"2026-04-16T10:12:58.194Z","repository":{"id":13054670,"uuid":"73436648","full_name":"luixaviles/socket-io-typescript-chat","owner":"luixaviles","description":"A chat application implemented using Socket.io, TypeScript, Angular and Angular Material components","archived":false,"fork":false,"pushed_at":"2023-04-22T05:06:57.000Z","size":19673,"stargazers_count":827,"open_issues_count":43,"forks_count":275,"subscribers_count":37,"default_branch":"master","last_synced_at":"2024-10-31T10:36:50.465Z","etag":null,"topics":["angular","angular-material2","chat","nodejs","socket","typescript"],"latest_commit_sha":null,"homepage":"https://medium.com/dailyjs/real-time-apps-with-typescript-integrating-web-sockets-node-angular-e2b57cbd1ec1","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/luixaviles.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-11-11T01:51:03.000Z","updated_at":"2024-10-08T19:53:34.000Z","dependencies_parsed_at":"2024-01-12T20:04:03.017Z","dependency_job_id":null,"html_url":"https://github.com/luixaviles/socket-io-typescript-chat","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luixaviles%2Fsocket-io-typescript-chat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luixaviles%2Fsocket-io-typescript-chat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luixaviles%2Fsocket-io-typescript-chat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luixaviles%2Fsocket-io-typescript-chat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luixaviles","download_url":"https://codeload.github.com/luixaviles/socket-io-typescript-chat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246063156,"owners_count":20717753,"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":["angular","angular-material2","chat","nodejs","socket","typescript"],"created_at":"2024-07-31T19:01:36.767Z","updated_at":"2026-04-16T10:12:58.144Z","avatar_url":"https://github.com/luixaviles.png","language":"TypeScript","funding_links":[],"categories":["TypeScript 教程","TypeScript"],"sub_categories":["英文资源"],"readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/luixaviles/socket-io-typescript-chat\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/stars/luixaviles/socket-io-typescript-chat.svg?style=social\u0026label=Star\" alt=\"GitHub stars\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://twitter.com/intent/tweet?url=https%3A%2F%2Fgithub.com%2Fluixaviles%2Fsocket-io-typescript-chat\u0026via=luixaviles\u0026text=Take%20a%20look%20this%20%23TypeScript%20chat%20project%20using%20%23Node%20and%20%23Angular%20Material\"\u003e\n        \u003cimg src=\"https://img.shields.io/twitter/url/https/github.com/luixaviles/socket-io-typescript-chat.svg?style=social\" alt=\"Tweet\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\nA Socket.io Chat Example Using TypeScript\n=========================================\n\nThis repository contains server \u0026 client side code using `TypeScript` language\n\n## Blog Post\nRead the blog post with details about this project: [Real Time Apps with TypeScript: Integrating Web Sockets, Node \u0026 Angular](https://medium.com/dailyjs/real-time-apps-with-typescript-integrating-web-sockets-node-angular-e2b57cbd1ec1) \n\n## Live Demo\nTry live demo: [https://typescript-chat.firebaseapp.com](https://typescript-chat.firebaseapp.com)\n\n# Support this project\n- Star GitHub repository :star:\n- Create pull requests, submit bugs or suggest new features\n- Follow updates on [Twitter](https://twitter.com/luixaviles) or [Github](https://github.com/luixaviles)\n\n![](https://luixaviles.com/assets/images/posts/typescript-chat/typescript-chat.gif?raw=true)\n\n# Running Server and Client locally\n## Prerequisites\n\nFirst, ensure you have the following installed:\n\n1. NodeJS - Download and Install latest version of Node: [NodeJS](https://nodejs.org)\n2. Git - Download and Install [Git](https://git-scm.com)\n3. Angular CLI - Install Command Line Interface for Angular [https://cli.angular.io/](https://cli.angular.io/)\n\nAfter that, use `Git bash` to run all commands if you are on Windows platform.\n\n## Clone repository\n\nIn order to start the project use:\n\n```bash\n$ git clone https://github.com/luixaviles/socket-io-typescript-chat.git\n$ cd socket-io-typescript-chat\n```\n\n## Run Server\n\nTo run server locally, just install dependencies and run `gulp` task to create a build:\n\n```bash\n$ cd server\n$ npm install -g gulp-cli\n$ npm install\n$ gulp build\n$ npm start\n```\n\nThe `socket.io` server will be running on port `8080`\n\nWhen you run `npm start`, this folder leverages [nodemon](https://nodemon.io/) which will automatically reload the server after you make a change and save your Typescript file. Along with nodemon, there is also a `gulp watch` task that you can run to reload the files but it's not necessary and is provided merely as a teaching alternative. \n\n## Run Angular Client\n\nOpen other command line window and run following commands:\n\n```bash\n$ cd client\n$ npm install\n$ ng serve\n```\n\nNow open your browser in following URL: [http://localhost:4200](http://localhost:4200/)\n\n# Server Deployment\n\nTake a look the [Wiki Page](https://github.com/luixaviles/socket-io-typescript-chat/wiki) for more details about deploying on `Heroku` and `Zeit.co`.\n\nFeel free to update that page and Readme if you add any other platform for deployment!\n\n# Forks\nThe Open Source community is awesome! If you're working in a fork with other tech stack, please add the reference of your project here:\n\n| Features                                  | Author                        | Status    |\n|-------------------------------------------|-------------------------------|-----------|\n| [React + TypeScript + Material-UI client](https://github.com/nilshartmann/socket-io-typescript-chat/tree/react-client/client-react)   | [nilshartmann](https://github.com/nilshartmann)   | In Progress   |\n\n\n# Contribution\nContributions are greatly appreciated. You can contribute by adding `i18n` support with your language, the testing section or any other feature.\n\n# Contributors\n[\u003cimg alt=\"luixaviles\" src=\"https://avatars0.githubusercontent.com/u/3485075?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/luixaviles) | [\u003cimg alt=\"hughanderson4\" src=\"https://avatars2.githubusercontent.com/u/2387520?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/hughanderson4) | [\u003cimg alt=\"ultrarunner\" src=\"https://avatars2.githubusercontent.com/u/1048799?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/ultrarunner) | [\u003cimg alt=\"theIDinside\" src=\"https://avatars2.githubusercontent.com/u/25328813?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/theIDinside) | [\u003cimg alt=\"carmius\" src=\"https://avatars2.githubusercontent.com/u/16904101?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/carmius) | [\u003cimg alt=\"Hellmy\" src=\"https://avatars2.githubusercontent.com/u/2045678?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/Hellmy) | \n:---: |:---: |:---: |:---: |:---: |:---: |\n[luixaviles](https://github.com/luixaviles) |[hughanderson4](https://github.com/hughanderson4) |[ultrarunner](https://github.com/ultrarunner) |[theIDinside](https://github.com/theIDinside) |[carmius](https://github.com/carmius) |[Hellmy](https://github.com/Hellmy) |[headwinds](https://github.com/headwinds) |\n\n[\u003cimg alt=\"you\" src=\"http://fuuse.net/wp-content/uploads/2016/02/avatar-placeholder.png\" width=\"117\"\u003e](https://github.com/luixaviles) |\n:---: |\n[You](https://github.com/luixaviles) |\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluixaviles%2Fsocket-io-typescript-chat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluixaviles%2Fsocket-io-typescript-chat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluixaviles%2Fsocket-io-typescript-chat/lists"}