{"id":28862368,"url":"https://github.com/theshefer/messenger","last_synced_at":"2026-05-07T06:33:03.273Z","repository":{"id":242058455,"uuid":"808569859","full_name":"theshefer/messenger","owner":"theshefer","description":"Custom messenger based on WebSockets","archived":false,"fork":false,"pushed_at":"2024-08-28T14:42:00.000Z","size":209,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-12T06:31:47.069Z","etag":null,"topics":["nodejs","react","react-bootstrap","socket-io","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/theshefer.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-05-31T10:44:32.000Z","updated_at":"2025-01-27T08:14:18.000Z","dependencies_parsed_at":"2024-05-31T12:23:39.032Z","dependency_job_id":"14370b5f-b9dd-403d-bad2-a6de18c97db7","html_url":"https://github.com/theshefer/messenger","commit_stats":null,"previous_names":["sssshefer/messenger","theshefer/messenger"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/theshefer/messenger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theshefer%2Fmessenger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theshefer%2Fmessenger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theshefer%2Fmessenger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theshefer%2Fmessenger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theshefer","download_url":"https://codeload.github.com/theshefer/messenger/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theshefer%2Fmessenger/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32725997,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["nodejs","react","react-bootstrap","socket-io","typescript","websocket"],"created_at":"2025-06-20T06:10:43.969Z","updated_at":"2026-05-07T06:33:03.268Z","avatar_url":"https://github.com/theshefer.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":" \u003cdiv align=\"center\"\u003e\u003cimg src=\"https://github.com/sssshefer/messenger/assets/63253440/ddcb7267-9d44-473b-b110-a1b60b316cd0\" alt=\"chat icon\"  height=\"160\"\u003e\n \u003ch1\u003eMessenger\u003c/h1\u003e\u003c/div\u003e\n \nThis ***Messanger*** application implements the basic functionality of modern messengers. Its purpose is to showcase the usage of WebSockets. The main focus was to implement the live features of WebSockets, with an emphasis on the frontend.So there is no database. All data is stored in local storage\n\n\u003e [!IMPORTANT]\n\u003e The easiest and clearest way to explore the functionality of the project is to \u003cbr/\u003e open several tabs on the same screen. But ***remember to use incognito tabs***. \u003cbr/\u003e\u003cbr/\u003e\n\u003e In incognito mode, browsers don't retain data like cookies, browsing history, or local storage to maintain user privacy. So, if you save project data to local storage during a regular browsing session, it won't be accessible in incognito mode because the browser doesn't store that information beyond the current session. This way you can create ***different users*** in different tabs \u003cbr/\u003e\u003cbr/\u003e\n\u003e To clear localStorage (if you need to ***reset the created user***), you can either open your browser's Developer Tools, navigate to the Application tab, and clear it from the Local Storage section, or use JavaScript by typing `localStorage.clear()` in the console or in your code. To remove specific items, use `localStorage.removeItem('keyName')`\n\n![Screenshot 2024-08-28 173628](https://github.com/user-attachments/assets/b4ba9b1b-44e5-46c3-aa06-a3436423c5c6)\n\n## Table of Contents\n- [Main Features](#main-features)\n- [Built With](#built-with)\n- [Setup](#setup)\n- [Contribution](#contribution)\n\n## Main Features\n- Link your **ID** similar to how you link your phone or Google account in modern messengers\n- Create personal **Contact List**\n- Chat in **real time**\n- Create **private group chats** (select multiple users for a conversation)\n- The sender's name from your contacts and the date when the message was sent are shown in the dialog\n\n\n## Built with\n #### Frontend:\n- [React](https://react.dev/)\n- [TypeScript](https://www.typescriptlang.org/)\n- [Socket.io](https://socket.io/)\n- [React Bootstrap](https://react-bootstrap.netlify.app/)\n    \n #### Backend:\n- [Node.js](https://nodejs.org/)\n- [Socket.io](https://socket.io/)\n\n## Setup\n### Prerequisites\n- Node.js\n- npm (Node package manager)\n\n### Installation\n1. **Clone the repository:**\n   ```sh\n   git clone https://github.com/sssshefer/messenger.git\n   cd messenger\n   ```\n2. **Go to client folder and start the application:**\n     ```sh\n   cd client\n   npm install\n   npm run start\n   ```\n3. **Go to server folder and start the server:**\n     ```sh\n   cd ../server\n   npm install\n   npm run dev\n   ```\n## Contribution\nFeel free to submit issues or pull requests. For major changes, please open an issue first to discuss what you would like to change.\n\n *Happy Hacking*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheshefer%2Fmessenger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheshefer%2Fmessenger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheshefer%2Fmessenger/lists"}