{"id":29027034,"url":"https://github.com/uddipta7/pingchat-realtime","last_synced_at":"2026-05-08T15:04:31.264Z","repository":{"id":300902058,"uuid":"1007517604","full_name":"Uddipta7/pingchat-realtime","owner":"Uddipta7","description":"⚡ PingChat is a full-stack real-time 1:1 chat app built with React, Node.js, Socket.io, and MongoDB. It features live messaging, typing indicators, JWT auth, Cloudinary uploads, and a clean responsive UI with Tailwind CSS.","archived":false,"fork":false,"pushed_at":"2025-06-24T06:17:00.000Z","size":6824,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-30T01:37:35.948Z","etag":null,"topics":["chat-app","jwt-auth","mern-stack","react","real-time","socket-io"],"latest_commit_sha":null,"homepage":"","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/Uddipta7.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-06-24T06:00:36.000Z","updated_at":"2025-06-24T06:20:41.000Z","dependencies_parsed_at":"2025-06-24T07:37:13.253Z","dependency_job_id":null,"html_url":"https://github.com/Uddipta7/pingchat-realtime","commit_stats":null,"previous_names":["uddipta7/pingchat-realtime"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Uddipta7/pingchat-realtime","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Uddipta7%2Fpingchat-realtime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Uddipta7%2Fpingchat-realtime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Uddipta7%2Fpingchat-realtime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Uddipta7%2Fpingchat-realtime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Uddipta7","download_url":"https://codeload.github.com/Uddipta7/pingchat-realtime/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Uddipta7%2Fpingchat-realtime/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273135886,"owners_count":25051999,"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","status":"online","status_checked_at":"2025-09-01T02:00:09.058Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["chat-app","jwt-auth","mern-stack","react","real-time","socket-io"],"created_at":"2025-06-26T06:02:01.549Z","updated_at":"2026-05-08T15:04:26.213Z","avatar_url":"https://github.com/Uddipta7.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 💬 PingChat — Real-Time Messaging Redefined\n\n**PingChat** is a lightning-fast, full-stack real-time chat application built with the power of **Socket.io** and the modern MERN stack. Whether you're chatting with friends or building the next-gen messenger, PingChat brings you the tools and experience you need — secure, scalable, and stylish.\n\n---\n\n## ⚡ Features at a Glance\n\n✅ 1:1 **Real-Time Messaging** with Socket.io  \n🔐 **User Authentication** using JWT  \n🧠 **Redux Toolkit** for seamless state management  \n🗂️ **MongoDB + Mongoose** for user \u0026 chat persistence  \n🖼️ **Cloudinary Image Uploads** for profile pictures and media  \n✍️ **Live Typing Indicators**  \n🟢 **Online/Offline Status**  \n📱 **Fully Responsive Design** — Mobile + Desktop ready  \n🎨 Built with sleek **Tailwind CSS** styling\n\n---\n\n## 🧰 Tech Stack\n\n**Frontend:**\n- React.js\n- Redux Toolkit\n- Axios\n- Tailwind CSS\n\n**Backend:**\n- Node.js\n- Express.js\n- MongoDB with Mongoose\n- Socket.io\n- JSON Web Tokens (JWT)\n- Cloudinary API\n\n---\n\n## 🚀 Getting Started\n\n### 🧾 Prerequisites\n\n- Node.js (v14+)\n- MongoDB (local or Atlas)\n- A Cloudinary account\n\n---\n\n### 🔧 Installation\n\n#### 1. Clone the repository:\n\n```bash\ngit clone https://github.com/your-username/pingchat-app.git\ncd pingchat-app\n```\n#### 2. Backend Setup\n```bash\ncd backend\nnpm install\n```\nCreate a .env file in /backend with the following:\n\n```env\nPORT=5000\nMONGO_URI=your_mongodb_connection_uri\nJWT_SECRET=your_jwt_secret\nCLOUDINARY_CLOUD_NAME=your_cloud_name\nCLOUDINARY_API_KEY=your_api_key\nCLOUDINARY_API_SECRET=your_api_secret\n```\n\nStart the backend server:\n\n```bash\nnpm run dev\n```\n#### 3. Frontend Setup\n```bash\ncd ../frontend\nnpm install\nnpm start\n```\n\n### 📁 Project Structure\n```php\n\npingchat-app/\n├── backend/                   # Node.js + Express backend\n│   ├── config/                # DB and cloudinary config\n│   ├── controllers/           # Route handler logic\n│   ├── middlewares/           # Auth, error handling, etc.\n│   ├── models/                # Mongoose schemas (User, Chat, Message)\n│   ├── public/                # Static assets if any\n│   ├── routes/                # API endpoints (user, chat, message)\n│   ├── socket/                # Socket.io real-time logic\n│   ├── .env                   # Environment variables\n│   ├── index.js               # Entry point of the backend\n│   └── package.json           # Backend dependencies\n│\n├── frontend/                  # React + Vite + Redux frontend\n│   ├── public/                # Static files\n│   ├── src/\n│   │   ├── assets/            # Icons, images, etc.\n│   │   ├── components/        # Reusable UI components\n│   │   ├── context/           # React context providers\n│   │   ├── customHooks/       # Custom reusable hooks\n│   │   ├── pages/             # Main pages (Chat, Login, Signup, etc.)\n│   │   ├── redux/             # Redux slices and store setup\n│   │   ├── App.jsx            # Root component\n│   │   ├── index.css          # Global styles\n│   │   └── main.jsx           # React app entry point\n│   ├── tailwind.config.js     # TailwindCSS config\n│   ├── vite.config.js         # Vite bundler config\n│   └── package.json           # Frontend dependencies\n│\n├── .gitignore\n```\n### 🔒 Security \u0026 Performance\n- JWT-based route protection for authenticated endpoints\n\n- Efficient socket connection management\n\n- Cloudinary for secure and scalable image storage\n\n### 📄 License\nThis project is licensed under the MIT License — feel free to use, modify, and share!\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuddipta7%2Fpingchat-realtime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuddipta7%2Fpingchat-realtime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuddipta7%2Fpingchat-realtime/lists"}