{"id":31765136,"url":"https://github.com/talish1234/chatterbird","last_synced_at":"2026-04-09T19:55:52.098Z","repository":{"id":312075918,"uuid":"1046205501","full_name":"Talish1234/ChatterBird","owner":"Talish1234","description":"A full-stack real-time communication platform built with React.js, Express.js, Socket.IO, and WebRTC. This app enables seamless instant messaging, video calls, online/offline status tracking, and real-time notifications — all in one place.","archived":false,"fork":false,"pushed_at":"2025-09-14T11:36:12.000Z","size":6580,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-14T13:25:11.796Z","etag":null,"topics":["cookie-parser","expressjs","fuzzy-search","mern-stack","mongodb","mongoose","nodejs","react-icon","reactjs","real-time-chat","real-time-status","socket-io","tailwindcss","timeago-react","toastify","webrtc"],"latest_commit_sha":null,"homepage":"https://chatter-bird-zeta.vercel.app","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/Talish1234.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-28T10:47:59.000Z","updated_at":"2025-09-14T11:36:15.000Z","dependencies_parsed_at":"2025-09-14T13:25:25.805Z","dependency_job_id":null,"html_url":"https://github.com/Talish1234/ChatterBird","commit_stats":null,"previous_names":["talish1234/chatterbird"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Talish1234/ChatterBird","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Talish1234%2FChatterBird","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Talish1234%2FChatterBird/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Talish1234%2FChatterBird/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Talish1234%2FChatterBird/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Talish1234","download_url":"https://codeload.github.com/Talish1234/ChatterBird/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Talish1234%2FChatterBird/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002383,"owners_count":26083356,"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-10-09T02:00:07.460Z","response_time":59,"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":["cookie-parser","expressjs","fuzzy-search","mern-stack","mongodb","mongoose","nodejs","react-icon","reactjs","real-time-chat","real-time-status","socket-io","tailwindcss","timeago-react","toastify","webrtc"],"created_at":"2025-10-10T00:13:32.796Z","updated_at":"2025-10-10T00:13:38.448Z","avatar_url":"https://github.com/Talish1234.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🐦 ChatterBird V2 – Real-Time Chat \u0026 Video Calling App  \n\nA **full-stack real-time communication app** built with **React.js, Express.js, Socket.IO, Redux, and WebRTC**.  \nChatterBird lets users **chat, make video calls, see online/offline status, and receive instant notifications** — all with a modern and responsive UI.  \n\n---\n\n## 🚀 Features  \n- 💬 **Real-Time Chat** – One-to-one messaging with instant updates.  \n- 📞 **Video Calling (WebRTC)** – Peer-to-peer video calls with signaling via Socket.IO.  \n- 🔔 **Live Notifications** – Get notified instantly for incoming messages and calls.  \n- 🟢 **Presence System** – Know when users are online/offline in real time.  \n- 🗂️ **Modular Architecture** – Clean separation of backend and frontend.  \n- 🌗 **Light/Dark Mode** – Switch between themes to fit your preference.  \n- 📱 **Responsive UI** – Works smoothly on desktop and mobile.  \n\n---\n\n## 🛠️ Tech Stack  \n**Frontend** - React.js + Vite  \n- Redux Toolkit  \n- TypeScript  \n- TailwindCSS  \n\n**Backend** - Node.js + Express.js  \n- Socket.IO  \n- MongoDB (or your DB choice)\n- Cloudinary\n\n**Other** - WebRTC (video calls)  \n- JWT / Authentication system  \n- Vercel / Render (deployment ready)  \n\n---\n\n## 📂 Folder Structure\n```dir\nChatter Bird/\n├── backend/ # Express backend\n│ ├── config/ # DB \u0026 server config\n│ ├── controller/ # Controllers\n│ ├── middleware/ # Auth \u0026 other middlewares\n│ ├── model/ # Database models\n│ ├── routes/ # API routes\n│ ├── utils/ # Utility functions\n│ └── index.js # App entry\n│\n├── frontend/ # React frontend\n│ ├── public/ # Static files\n│ └── src/\n│   ├── assets/ # Images, icons\n│   ├── Components/ # Reusable components\n│   ├── Interfaces/ # TypeScript interfaces\n│   ├── pages/ # Page-level components\n│   ├── Redux/ # State management\n│   ├── utils/ # Frontend utilities\n│   ├── App.tsx # Main app component\n│   └── main.tsx # Entry point\n│\n├── README.md\n├── package.json\n└── .gitignore\n```\n\n---\n\n## ⚡ Getting Started  \n\n### 1️⃣ Clone the Repository  \n```bash\ngit clone https://github.com/Talish1234/ChatterBird\ncd ChatterBird\n```\n\n### 2️⃣ Setup Backend\n```bash\ncd backend\nnpm install\nnpm run dev\n```\n\nBackend runs at: `http://localhost:8000`\n\n### 3️⃣ Setup Frontend\n```bash\n\ncd frontend\nnpm install\nnpm run dev\n```\nFrontend runs at: `http://localhost:5173`\n\n### ⚙️ Environment Variables\nTo run this project, you will need to create a .env file in the `backend folder` and add the following environment variables.\n\n```.env\nGOOGLE_CLIENT_ID=YOUR_GOOGLE_CLIENT_ID\nGOOGLE_CLIENT_SECRET=YOUR_GOOGLE_CLIENT_SECRET\nBASE_URL=http://localhost:5173\nDATABASE_URL=mongodb://127.0.0.1:27017\nJWT_SECRET=YOUR_RANDOM_SECRET_STRING\nSMTP_AUTH_USER=YOUR_MAILTRAP_USERNAME\nSMTP_AUTH_PASS=YOUR_MAILTRAP_PASSWORD\nCLOUD_NAME=YOUR_CLOUDINARY_CLOUD_NAME\nUNSIGNED_PRESET=chatterBird\nCLOUDINARY_KEY=YOUR_CLOUDINARY_API_KEY\nCLOUDINARY_SECRET=YOUR_CLOUDINARY_API_SECRET\n```\n\nIn the `frontend folder` and add the following environment variables.\n\n```.env\nVITE_GOOGLE_CLIENT_ID=YOUR_GOOGLE_CLIENT_ID\nVITE_BASE_URL=http://localhost:8000\n```\n\n\u003c!-- ▶️ Demo\nReal-Time Chat Preview\nVideo Call Preview\n--\u003e\n\n### 📸 Screenshots\n\u003cdiv\u003e\n  \u003ch3\u003eWelcome Page\u003c/h3\u003e \u003cbr\u003e\n  \u003cimg src=\"https://res.cloudinary.com/dwvvhxbgy/image/upload/v1757091363/Screenshot_2025-09-05_213832_yr8iwn.png\" alt=\"/welcomePage\"/\u003e\n  \u003ch3\u003eSignup \u0026 Login Page\u003c/h3\u003e  \u003cbr\u003e\n  \u003cimg src=\"https://res.cloudinary.com/dwvvhxbgy/image/upload/v1757091537/Screenshot_2025-09-05_220133_topeix.png\" alt=\"login and signup\" /\u003e\n  \u003cdiv\u003e\n    \u003ch3\u003e Live Notifications \u0026 Chat Page\u003c/h3\u003e \u003cbr\u003e\n    \u003cimg src=\"https://res.cloudinary.com/dwvvhxbgy/image/upload/v1757091536/Screenshot_2025-09-05_214731_ufppwp.png\" width=\"45%\"/\u003e\n    \u003cimg src=\"https://res.cloudinary.com/dwvvhxbgy/image/upload/v1757091349/Screenshot_2025-09-05_214830_jtajxj.png\" width=\"45%\"/\u003e\n  \u003c/div\u003e\n  \u003cdiv\u003e\n    \u003ch3\u003e Video Call Page\u003c/h3\u003e \u003cbr\u003e\n    \u003cimg src=\"https://res.cloudinary.com/dwvvhxbgy/image/upload/v1757091539/Screenshot_2025-09-05_215150_stcvcl.png\" width=\"45%\"/\u003e\n    \u003cimg src=\"https://res.cloudinary.com/dwvvhxbgy/image/upload/v1757091540/Screenshot_2025-09-05_215835_x7kifc.png\" width=\"45%\"/\u003e\n  \u003c/div\u003e\n  \u003cdiv\u003e\n    \u003ch3\u003eFuzzy Search , Setting \u0026 Call Logs Page\u003c/h3\u003e \u003cbr\u003e\n     \u003cimg src=\"https://res.cloudinary.com/dwvvhxbgy/image/upload/v1757091347/Screenshot_2025-09-05_215033_ndfyh8.png\" width=\"28%\"/\u003e\n    \u003cimg src=\"https://res.cloudinary.com/dwvvhxbgy/image/upload/v1757091349/Screenshot_2025-09-05_213951_qddi0e.png\" width=\"38%\"/\u003e\n    \u003cimg src=\"https://res.cloudinary.com/dwvvhxbgy/image/upload/v1757094621/Screenshot_2025-09-05_215927_ewveq5.png\" width=\"28%\"/\u003e\n  \u003c/div\u003e\n\u003c/div\u003e\n\n### 🤝 Contributing\nContributions are welcome! Please fork this repo and submit a pull request.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftalish1234%2Fchatterbird","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftalish1234%2Fchatterbird","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftalish1234%2Fchatterbird/lists"}