{"id":27736779,"url":"https://github.com/ranak8811/chat-app-socket-io","last_synced_at":"2026-04-02T02:50:21.566Z","repository":{"id":290308556,"uuid":"973263236","full_name":"ranak8811/Chat-App-Socket-IO","owner":"ranak8811","description":"This project is a fully functional real-time chat app that allows users to send instant messages, see online statuses, and manage authentication securely.","archived":false,"fork":false,"pushed_at":"2025-04-28T05:20:09.000Z","size":804,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-28T06:26:56.698Z","etag":null,"topics":["daisy-ui","expressjs","mongoose","nodejs","reactjs","socket-io","tailwindcss"],"latest_commit_sha":null,"homepage":"https://chat-app-socket-io-dvzk.onrender.com","language":"JavaScript","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/ranak8811.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,"zenodo":null}},"created_at":"2025-04-26T16:05:47.000Z","updated_at":"2025-04-28T05:23:30.000Z","dependencies_parsed_at":"2025-04-28T06:37:37.308Z","dependency_job_id":null,"html_url":"https://github.com/ranak8811/Chat-App-Socket-IO","commit_stats":null,"previous_names":["ranak8811/chat-app-socket-io"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ranak8811%2FChat-App-Socket-IO","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ranak8811%2FChat-App-Socket-IO/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ranak8811%2FChat-App-Socket-IO/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ranak8811%2FChat-App-Socket-IO/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ranak8811","download_url":"https://codeload.github.com/ranak8811/Chat-App-Socket-IO/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251330606,"owners_count":21572321,"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":["daisy-ui","expressjs","mongoose","nodejs","reactjs","socket-io","tailwindcss"],"created_at":"2025-04-28T14:31:08.058Z","updated_at":"2025-12-30T20:20:16.603Z","avatar_url":"https://github.com/ranak8811.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ✨ Full Stack Realtime Chat App ✨\n\nA modern, full-stack realtime chat application built with the **MERN** stack, **Socket.io**, and styled using **TailwindCSS** and **DaisyUI**. It supports real-time messaging, authentication, global state management, and more!\n\n---\n\n## 🌟 Table of Contents\n\n- [Introduction](#introduction)\n- [Features](#features)\n- [Tech Stack](#tech-stack)\n- [Live Demo](#live-demo)\n- [Installation](#installation)\n- [Environment Variables](#environment-variables)\n- [Usage](#usage)\n- [Project Structure](#project-structure)\n- [Examples](#examples)\n- [Troubleshooting](#troubleshooting)\n- [Contributors](#contributors)\n- [License](#license)\n\n---\n\n## 🧩 Introduction\n\nThis project is a fully functional real-time chat app that allows users to send instant messages, see online statuses, and manage authentication securely. It leverages modern web technologies to deliver a seamless and dynamic chatting experience.\n\n---\n\n## 🚀 Features\n\n- JWT-based Authentication \u0026 Authorization\n- Real-time messaging with **Socket.io**\n- Online/Offline user status\n- Global state management using **Zustand**\n- Client and server-side error handling\n- Responsive UI with **TailwindCSS** and **DaisyUI**\n- Secure password hashing and storage\n- Cloud-based media storage with **Cloudinary**\n- Modern UX with toast notifications\n- Production-ready build scripts\n\n---\n\n## 🛠️ Tech Stack\n\n**Frontend:**\n\n- React\n- Axios\n- Zustand\n- React Router DOM\n- Socket.io Client\n- React Hot Toast\n- TailwindCSS\n- DaisyUI\n- Lucide React\n\n**Backend:**\n\n- Node.js\n- Express.js\n- MongoDB with Mongoose\n- Socket.io\n- JWT for authentication\n- Bcrypt.js for password hashing\n- Cloudinary for media uploads\n- CORS, Dotenv, Cookie-parser\n\n---\n\n## 🌐 Live Demo\n\nCheck out the live app here:  \n➡️ [Realtime Chat App](https://chat-app-socket-io-dvzk.onrender.com)\n\n---\n\n## 🛠️ Installation\n\n1. **Clone the repository:**\n\n```bash\ngit clone https://github.com/ranak8811/Chat-App-Socket-IO.git\ncd Chat-App-Socket-IO\n```\n\n2. **Install backend dependencies:**\n\n```bash\ncd backend\nnpm install\n```\n\n3. **Install frontend dependencies:**\n\n```bash\ncd ../frontend\nnpm install\n```\n\n---\n\n## ⚙️ Environment Variables\n\nCreate a `.env` file in the backend directory and add the following:\n\n```plaintext\nMONGODB_URI=your_mongodb_connection_string\nPORT=5001\nJWT_SECRET=your_jwt_secret_key\n\nCLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name\nCLOUDINARY_API_KEY=your_cloudinary_api_key\nCLOUDINARY_API_SECRET=your_cloudinary_api_secret\n\nNODE_ENV=development\n```\n\n---\n\n## 📦 Usage\n\n**To run the app locally:**\n\n1. Start the backend server:\n\n```bash\ncd backend\nnpm start\n```\n\n2. Start the frontend app:\n\n```bash\ncd frontend\nnpm start\n```\n\n**To build the frontend app:**\n\n```bash\nnpm run build\n```\n\n---\n\n## 📁 Project Structure\n\n```plaintext\n├── backend\n│   ├── controllers\n│   ├── models\n│   ├── routes\n│   ├── middleware\n│   ├── lib\n│   └── index.js\n├── frontend\n│   ├── src\n│   │   ├── components\n│   │   ├── hooks\n│   │   ├── pages\n│   │   ├── services\n│   │   ├── store\n│   │   ├── utils\n│   │   └── App.jsx\n│   └── tailwind.config.js\n├── README.md\n└── package.json\n```\n\n---\n\n## 🧪 Examples\n\n- **Register and Login**\n- **Send and receive instant messages**\n- **View online/offline user statuses**\n- **Upload media to Cloudinary**\n- **Global notifications using Toaster**\n\n---\n\n## 🛠 Troubleshooting\n\n- Ensure MongoDB Atlas is properly connected.\n- Make sure your `.env` variables are correct.\n- If WebSocket connection issues occur, check CORS settings and socket URL.\n- Ensure that Cloudinary credentials are valid for image uploads.\n\n---\n\n## 👨‍💻 Contributors\n\n- [**Md Anwar Hossain**](https://github.com/ranak8811)\n\n---\n\n## 📜 License\n\nThis project is licensed under the **MIT License** - feel free to use it for personal and commercial purposes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Franak8811%2Fchat-app-socket-io","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Franak8811%2Fchat-app-socket-io","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Franak8811%2Fchat-app-socket-io/lists"}