{"id":15392594,"url":"https://github.com/renantrs/chat-app","last_synced_at":"2026-04-04T21:33:30.559Z","repository":{"id":49471738,"uuid":"517717296","full_name":"RenanTRS/chat-app","owner":"RenanTRS","description":"A ReactJS webchat using websocket with NodeJS and SocketIO","archived":false,"fork":false,"pushed_at":"2022-08-10T16:50:48.000Z","size":2747,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-09T20:35:03.062Z","etag":null,"topics":["jest","nodejs","reactjs","tailwindcss","testing-library","typescript","websocket"],"latest_commit_sha":null,"homepage":"","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/RenanTRS.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}},"created_at":"2022-07-25T15:19:44.000Z","updated_at":"2023-05-01T02:51:00.000Z","dependencies_parsed_at":"2022-08-12T20:11:34.738Z","dependency_job_id":null,"html_url":"https://github.com/RenanTRS/chat-app","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/RenanTRS/chat-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RenanTRS%2Fchat-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RenanTRS%2Fchat-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RenanTRS%2Fchat-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RenanTRS%2Fchat-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RenanTRS","download_url":"https://codeload.github.com/RenanTRS/chat-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RenanTRS%2Fchat-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31415110,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: 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":["jest","nodejs","reactjs","tailwindcss","testing-library","typescript","websocket"],"created_at":"2024-10-01T15:15:19.203Z","updated_at":"2026-04-04T21:33:30.511Z","avatar_url":"https://github.com/RenanTRS.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./design/logo.svg\" alt=\"Logo\" /\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e⚠️ \u003cstrong\u003eUnder Development!\u003c/strong\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/renantrs/chat-app?style=for-the-badge\" alt=\"GitHub License\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/languages/top/renantrs/chat-app?style=for-the-badge\" alt=\"GitHub top language\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/last-commit/renantrs/chat-app?style=for-the-badge\u0026color=blue\" alt=\"GitHub last commit\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/issues/renantrs/chat-app?style=for-the-badge\u0026color=orange\" alt=\"GitHub issues open\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/issues-closed/renantrs/chat-app?style=for-the-badge\u0026color=green\" alt=\"GitHub closed issues\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/issues-pr/renantrs/chat-app?style=for-the-badge\u0026color=orange\" alt=\"GitHub pull request open\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/issues-pr-closed/renantrs/chat-app?style=for-the-badge\u0026color=green\" alt=\"GitHub closed pull requests\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./design/demo/desk.png\" alt=\"Demo on desktop\" width=\"75%\"/\u003e\n    \u003cimg src=\"./design/demo/mobile.png\" alt=\"Demo on desktop\" width=\"20%\"/\u003e\n\u003c/p\u003e\n\n## About this project\n\nThis project is part of my personal portfolio.\n\n## Why?\n\nThe purpose of this project was to learn about **WebSocket**\n\n## How to use\n\nTo clone and run this project, you'll need **[Git](https://git-scm.com)**, **[node v14.20](https://nodejs.org/en/)** or higher + **[yarn v1.22.15](https://yarnpkg.com)** or higher installed on your computer. From your command line:\n\n```bash\n#Clone this repository\n$ git clone https://github.com/RenanTRS/chat-app.git\n\n#Go into the repository\n$ cd chat-app\n\n#Install dependencies\n$ yarn\n#or\n$ npm i\n\n#Run web (front-end)\n$ cd web\n$ yarn dev\n#or\n$ npm run dev\n\n#Run test web (front-end)\n$ cd web\n$ yarn test\n#or\n$ npm run test\n\n#Run server (back-end)\n$ cd server\n$ yarn dev\n#or\n$ npm run dev\n\n#Generate build server (back-end)\n$ cd server\n$ yarn build\n#or\n$ npm run build\n\n#Run build server (back-end)\n$ cd server\n$ yarn start\n#or\n$ npm run start\n```\n\n## Env Variables\n\n### Web\n\n```\nVITE_URL_SERVER = 'your_http_back_end_here'\n```\n\n### Server\n\n```\nBASE_URL='your_http_front_end_here'\n```\n\n## Built with\n\n| Front-End                                                                                                                                                               |                                                                                                                               Back-end |\n| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------: |\n| [![Vite](https://img.shields.io/badge/Vite-gray?style=for-the-badge\u0026logo=vite)](https://vitejs.dev/guide/#scaffolding-your-first-vite-project)                          |                    [![NodeJS](https://img.shields.io/badge/NodeJS-darkgreen?style=for-the-badge\u0026logo=node.js)](https://nodejs.org/en/) |\n| [![ReactJs](https://img.shields.io/badge/ReactJs-darkblue?style=for-the-badge\u0026logo=react)](https://reactjs.org/)                                                        | [![TypeScript](https://img.shields.io/badge/Typescript-darkblue?style=for-the-badge\u0026logo=typescript)](https://www.typescriptlang.org/) |\n| [![TypeScript](https://img.shields.io/badge/Typescript-darkblue?style=for-the-badge\u0026logo=typescript)](https://www.typescriptlang.org/)                                  |            [![Express](https://img.shields.io/badge/Express-darkgreen?style=for-the-badge\u0026logo=express)](https://expressjs.com/pt-br/) |\n| [![Tailwindcss](https://img.shields.io/badge/Tailwindcss-blue?style=for-the-badge\u0026logo=tailwindcss)](https://tailwindcss.com/)                                          |                    [![Cors](https://img.shields.io/badge/Cors-gray?style=for-the-badge\u0026logo=cors)](https://www.npmjs.com/package/cors) |\n| [![PostCss](https://img.shields.io/badge/Post%20Css-red?style=for-the-badge\u0026logo=postcss)](https://postcss.org/)                                                        |                                [![Babel](https://img.shields.io/badge/Babel-gray?style=for-the-badge\u0026logo=babel)](https://babeljs.io/) |\n| [![React Router Dom](https://img.shields.io/badge/React%20Router%20Dom-2D2D2D?style=for-the-badge\u0026logo=reactrouter)](https://v5.reactrouter.com/web/guides/quick-start) |                      [![Socket.IO](https://img.shields.io/badge/SocketIO-gray?style=for-the-badge\u0026logo=socket.io)](https://socket.io/) |\n| [![Socket.IO](https://img.shields.io/badge/SocketIO-gray?style=for-the-badge\u0026logo=socket.io)](https://socket.io/)                                                       |                             [![EsLint](https://img.shields.io/badge/EsLint-gray?style=for-the-badge\u0026logo=eslint)](https://eslint.org/) |\n| [![Jest](https://img.shields.io/badge/Jest-c21325?style=for-the-badge\u0026logo=jest)](https://jestjs.io/)                                                                   |                      [![Prettier](https://img.shields.io/badge/Prettier-gray?style=for-the-badge\u0026logo=prettier)](https://prettier.io/) |\n| [![Testing Library](https://img.shields.io/badge/Testing%20Library-gray?style=for-the-badge\u0026logo=testinglibrary)](https://testing-library.com/)                         |            [![Dotenv](https://img.shields.io/badge/Dotenv-gray?style=for-the-badge\u0026logo=dotenv)](https://www.npmjs.com/package/dotenv) |\n| [![SWC Jest](https://img.shields.io/badge/SWC%20Jest-gray?style=for-the-badge\u0026logo=swc)](https://swc.rs/docs/usage/jest)                                                |                              [![Yarn](https://img.shields.io/badge/Yarn-darkblue?style=for-the-badge\u0026logo=yarn)](https://yarnpkg.com/) |\n| [![SWC Core](https://img.shields.io/badge/SWC%20Core-gray?style=for-the-badge\u0026logo=swc)](https://swc.rs/docs/usage/core)                                                |                                                                                                                                        |\n| [![EsLint](https://img.shields.io/badge/EsLint-gray?style=for-the-badge\u0026logo=eslint)](https://eslint.org/)                                                              |                                                                                                                                        |\n| [![Prettier](https://img.shields.io/badge/Prettier-gray?style=for-the-badge\u0026logo=prettier)](https://prettier.io/)                                                       |                                                                                                                                        |\n| [![PhosphorIcons](https://img.shields.io/badge/Phosphor%20Icons-ffd76a?style=for-the-badge\u0026logo=phosphoricons)](https://phosphoricons.com/)                             |                                                                                                                                        |\n| [![Yarn](https://img.shields.io/badge/Yarn-darkblue?style=for-the-badge\u0026logo=yarn)](https://yarnpkg.com/)                                                               |                                                                                                                                        |\n\n## Contact\n\n- Email me - renantrsouza@gmail.com\n- Connect with me on [LinkedIn](https://www.linkedin.com/in/renantrsouza/)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](https://github.com/renantrs/chat-app/blob/main/LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frenantrs%2Fchat-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frenantrs%2Fchat-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frenantrs%2Fchat-app/lists"}