{"id":26391493,"url":"https://github.com/royaals/realtime-chat-application","last_synced_at":"2026-04-08T22:31:08.053Z","repository":{"id":277658642,"uuid":"932793630","full_name":"royaals/realtime-chat-application","owner":"royaals","description":"A real-time chat web application built with WebSocket technology, featuring user authentication, local storage, and responsive design. The application enables instant messaging between users and the server, with messages being echoed back from the server to the client.","archived":false,"fork":false,"pushed_at":"2025-02-27T15:03:19.000Z","size":10502,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-05T15:29:51.668Z","etag":null,"topics":["nextjs","nodejs","strapi","tailwindcss","typescript","websocket"],"latest_commit_sha":null,"homepage":"https://aynachat.devprojects.world","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/royaals.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":".github/CODE_OF_CONDUCT.md","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":"2025-02-14T14:32:59.000Z","updated_at":"2025-02-27T15:03:22.000Z","dependencies_parsed_at":"2025-02-27T21:38:07.284Z","dependency_job_id":null,"html_url":"https://github.com/royaals/realtime-chat-application","commit_stats":null,"previous_names":["royaals/ayna-assignment","royaals/realtime-chat-application"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/royaals/realtime-chat-application","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/royaals%2Frealtime-chat-application","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/royaals%2Frealtime-chat-application/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/royaals%2Frealtime-chat-application/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/royaals%2Frealtime-chat-application/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/royaals","download_url":"https://codeload.github.com/royaals/realtime-chat-application/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/royaals%2Frealtime-chat-application/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31577444,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"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":["nextjs","nodejs","strapi","tailwindcss","typescript","websocket"],"created_at":"2025-03-17T10:20:14.517Z","updated_at":"2026-04-08T22:31:08.029Z","avatar_url":"https://github.com/royaals.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Real-Time Chat Application\r\n\r\nA real-time chat web application built with WebSocket technology, featuring user authentication, local storage, and responsive design. The application enables instant messaging between users and the server, with messages being echoed back from the server to the client.\r\n\r\n## Features\r\n\r\n- 🔐 User Authentication (Sign up, Login, Logout)\r\n- 💬 Real-time messaging using WebSocket\r\n- 📱 Responsive design for all devices\r\n- 💾 Local storage for chat history\r\n- 🔄 Message echo functionality\r\n- 📊 Multiple chat sessions support\r\n- 🎨 Clean and intuitive UI\r\n\r\n## Tech Stack\r\n\r\n### Frontend\r\n- Next.js\r\n- Socket.io-client\r\n- TailwindCSS\r\n- LocalStorage API\r\n\r\n### Backend\r\n- Strapi (Headless CMS)\r\n- Node.js\r\n- Socket.io\r\n\r\n## Installation\r\n\r\n### Prerequisites\r\n- Node.js (v14 or higher)\r\n- npm or yarn\r\n- Git\r\n\r\n### Backend Setup\r\n\r\n1. Clone the repository:\r\n   ```bash\r\n   git clone https://github.com/royaals/realtime-chat-application.git\r\n   cd realtime-chat-application\r\n   ```\r\n# Strapi Installation and Configuration\r\n\r\n\r\n## Backend Setup\r\n\r\n### 1. Create a Strapi App\r\nRun the following command to create a new Strapi app:\r\n```bash\r\ncd chat-backend\r\nnpm install\r\n```\r\nConfigure environment variables\r\n\r\nStart the Strapi server:\r\n```bash\r\nnpm run develop\r\n```\r\n\r\nOpen your browser and navigate to http://localhost:1337\r\nYou should see the Strapi dashboard.\r\n\r\nWebsocket Setup\r\n### 1. Navigate to the websocket directory\r\n```bash\r\ncd websocket\r\n```\r\n\r\nInstall dependencies:\r\n```bash\r\nnpm install\r\n```\r\n\r\nStart the development server:\r\n```bash\r\nnpm run dev\r\n```\r\n\r\nOpen your browser and navigate to http://localhost:3001\r\n\r\nFrontend Setup\r\n### 1. Navigate to the chat-app directory\r\n```bash\r\ncd chat-app\r\n```\r\n\r\nInstall dependencies:\r\n```bash\r\nnpm install\r\n```\r\n\r\nStart the development server:\r\n```bash\r\nnpm run dev\r\n```\r\n\r\nOpen your browser and navigate to http://localhost:3000\r\n\r\n\r\n## API Endpoints\r\n\r\n### REST API\r\n- **POST /auth/local/register** - Register a new user.\r\n- **POST /auth/local** - Log in with existing credentials.\r\n- **GET /messages** - Retrieve chat history.\r\n- **POST /messages** - Create a new message.\r\n\r\n### WebSocket Events\r\n- **connection** - Triggered when a client connects to the server.\r\n- **message** - Used to send and receive messages in real-time.\r\n- **disconnect** - Triggered when a client disconnects from the server.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froyaals%2Frealtime-chat-application","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froyaals%2Frealtime-chat-application","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froyaals%2Frealtime-chat-application/lists"}