{"id":15187630,"url":"https://github.com/abdullah0dev/chatdong","last_synced_at":"2026-03-02T08:03:27.000Z","repository":{"id":253899071,"uuid":"844864221","full_name":"Abdullah0Dev/Chatdong","owner":"Abdullah0Dev","description":"A Full Stack Real-Time Chat App with React Native, Node.js, MongoDB, and Socket.io! 🚀💬 Seamless messaging across platforms, all in real-time!","archived":false,"fork":false,"pushed_at":"2025-02-21T14:42:36.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-21T15:37:17.545Z","etag":null,"topics":["mongodb","nativewind","nodejs","react-native","react-native-app","react-native-navigation","socket-io"],"latest_commit_sha":null,"homepage":"https://www.bit.ly/3LboNOQ","language":null,"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/Abdullah0Dev.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-08-20T05:49:11.000Z","updated_at":"2025-02-21T14:42:39.000Z","dependencies_parsed_at":"2024-08-21T20:03:31.846Z","dependency_job_id":null,"html_url":"https://github.com/Abdullah0Dev/Chatdong","commit_stats":{"total_commits":4,"total_committers":1,"mean_commits":4.0,"dds":0.0,"last_synced_commit":"7d026102c44136847a524bb0f1ce1294eb8a0f11"},"previous_names":["abdullah0dev/chatdong"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Abdullah0Dev/Chatdong","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdullah0Dev%2FChatdong","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdullah0Dev%2FChatdong/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdullah0Dev%2FChatdong/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdullah0Dev%2FChatdong/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Abdullah0Dev","download_url":"https://codeload.github.com/Abdullah0Dev/Chatdong/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdullah0Dev%2FChatdong/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29995910,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T01:47:34.672Z","status":"online","status_checked_at":"2026-03-02T02:00:07.342Z","response_time":60,"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":["mongodb","nativewind","nodejs","react-native","react-native-app","react-native-navigation","socket-io"],"created_at":"2024-09-27T18:41:17.685Z","updated_at":"2026-03-02T08:03:25.416Z","avatar_url":"https://github.com/Abdullah0Dev.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cdiv align=\"center\"\u003e\n  \u003cbr /\u003e\n\n  \n  \u003cbr /\u003e\n\n  \u003cdiv\u003e\n    \u003cimg src=\"https://img.shields.io/badge/-React_Native-black?style=for-the-badge\u0026logoColor=white\u0026logo=react\u0026color=61DAFB\" alt=\"react-native\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/-Node_JS-black?style=for-the-badge\u0026logoColor=white\u0026logo=node.js\u0026color=339933\" alt=\"nodejs\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/-MongoDB-black?style=for-the-badge\u0026logoColor=white\u0026logo=mongodb\u0026color=47A248\" alt=\"mongodb\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/-Socket.io-black?style=for-the-badge\u0026logoColor=white\u0026logo=socket.io\u0026color=010101\" alt=\"socket.io\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/-Tailwind_CSS-black?style=for-the-badge\u0026logoColor=white\u0026logo=tailwindcss\u0026color=06B6D4\" alt=\"tailwindcss\" /\u003e\n  \u003c/div\u003e\n\n  \u003ch3 align=\"center\"\u003eChatdong - Full Stack Chat App\u003c/h3\u003e\n\n   \u003cdiv align=\"center\"\u003e\n     Build your own full-stack chat application using React Native, Node.js, MongoDB, and Socket.io. Check out the design and assets on the link below!\n    \u003c/div\u003e\n\u003c/div\u003e\n\n## 📋 \u003ca name=\"table\"\u003eTable of Contents\u003c/a\u003e\n\n1. 🤖 [Introduction](#introduction)\n2. ⚙️ [Tech Stack](#tech-stack)\n3. 🔋 [Features](#features)\n4. 🤸 [Quick Start](#quick-start)\n5. 🕸️ [Assets \u0026 Code](#snippets)\n6. 🚀 [More](#more)\n\n## \u003ca name=\"introduction\"\u003e🤖 Introduction\u003c/a\u003e\n\n**Chatdong** is a full-stack chat application built using React Native for the frontend, Node.js for the backend, MongoDB for database management, and Socket.io for real-time communication. This app provides a responsive, real-time chat experience with a modern UI designed with Tailwind CSS.\n\nThe project structure consists of two main folders:\n\n- `frontend`: React Native app.\n- `backend`: Node.js server with Express and Socket.io.\n\nYou can view the design assets and other resources [here](https://drive.google.com/file/d/1ZKCV4HLKSkajlb-8CVMIRV3q2_qqW2Gs/view?usp=sharing).\n\n## \u003ca name=\"tech-stack\"\u003e⚙️ Tech Stack\u003c/a\u003e\n\n- **React Native**\n- **Node.js**\n- **MongoDB**\n- **Socket.io**\n- **Tailwind CSS**\n\n## \u003ca name=\"features\"\u003e🔋 Features\u003c/a\u003e\n\n👉 **Real-time Chat**: Leveraging Socket.io, the app offers real-time communication between users.\n\n👉 **User Authentication**: Secure user authentication with JWT tokens.\n\n👉 **Responsive Design**: Optimized for both mobile (React Native) and web interfaces.\n\n👉 **Message Storage**: Stores chat history in MongoDB, ensuring messages persist across sessions.\n\n👉 **Group Chats**: Users can create group chats with multiple participants.\n\n👉 **Notification System**: Real-time notifications for new messages and activities.\n\n## \u003ca name=\"quick-start\"\u003e🤸 Quick Start\u003c/a\u003e\n\nFollow these steps to set up the project locally.\n\n**Prerequisites**\n\nEnsure you have the following installed:\n\n- [Git](https://git-scm.com/)\n- [Node.js](https://nodejs.org/)\n- [npm](https://www.npmjs.com/)\n- [MongoDB](https://www.mongodb.com/)\n\n**Cloning the Repository**\n\n```bash\ngit clone https://github.com/Abdullah0Dev/Chatdong.git\ncd Chatdong\n```\n\n**Setting Up Backend**\n\n```bash\ncd backend\nnpm install\n```\n\nCreate a `.env` file in the `backend` directory and add the following environment variables:\n\n```env\nMONGO_URI=\u003cyour_mongodb_uri\u003e\nJWT_SECRET=\u003cyour_jwt_secret\u003e\n```\n\nStart the server:\n\n```bash\nnpm start\n```\n\n**Setting Up Frontend**\n\n```bash\ncd ../frontend\nnpm install\n```\n \n#### For Android:\n1. Make sure your Android emulator is running, or connect a physical device.\n2. Run the following command to start the Metro bundler and launch the app on Android:\n\n   ```bash\n   npx react-native run-android\n   ```\n\n#### For iOS:\n1. Make sure your iOS simulator is running, or connect a physical device.\n2. Run the following command to start the Metro bundler and launch the app on iOS:\n\n   ```bash\n   npx react-native run-ios\n   ```\n \n\n**Tailwind CSS Configuration**\n\nHere’s a snippet from the Tailwind CSS configuration:\n\n```javascript\nmodule.exports = {\n  theme: {\n    extend: {\n      colors: {\n        accent: '#fef3ce',\n        white: '#ffffff',\n        primary: '#110905',\n        secondary: '#f7f7f7',\n        black: {\n          100: '#010411',\n          200: '#8d8d8f',\n        },\n        blue: '#E4F2FD',\n        purple: '#eecbd1',\n      },\n    },\n  },\n  plugins: [],\n};\n```\n\n## \u003ca name=\"snippets\"\u003e🕸️ Assets \u0026 Code\u003c/a\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ccode\u003ecomponents/ChatCard.tsx\u003c/code\u003e\u003c/summary\u003e\n\n```typescript\nimport React from 'react';\nimport { View, Text } from 'react-native';\n\nconst ChatCard = ({ user, message }) =\u003e (\n  \u003cView className=\"bg-secondary p-4 mb-2 rounded-lg\"\u003e\n    \u003cText className=\"text-primary font-bold\"\u003e{user}\u003c/Text\u003e\n    \u003cText className=\"text-black-200\"\u003e{message}\u003c/Text\u003e\n  \u003c/View\u003e\n);\n\nexport default ChatCard;\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ccode\u003eserver.js\u003c/code\u003e\u003c/summary\u003e\n\n```javascript\nconst express = require('express');\nconst http = require('http');\nconst socketIo = require('socket.io');\nconst mongoose = require('mongoose');\n\nrequire('dotenv').config();\n\nconst app = express();\nconst server = http.createServer(app);\nconst io = socketIo(server);\n\nmongoose.connect(process.env.MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true });\n\nio.on('connection', (socket) =\u003e {\n  console.log('a user connected');\n  socket.on('chat message', (msg) =\u003e {\n    io.emit('chat message', msg);\n  });\n});\n\nserver.listen(3000, () =\u003e {\n  console.log('listening on *:3000');\n});\n```\n\n\u003c/details\u003e\n\n## \u003ca name=\"more\"\u003e🚀 More\u003c/a\u003e\n\nFeel free to contribute to the project or suggest new features by opening an issue or a pull request. If you have any questions, reach out to me on [GitHub](https://github.com/Abdullah0Dev). Happy coding!\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdullah0dev%2Fchatdong","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdullah0dev%2Fchatdong","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdullah0dev%2Fchatdong/lists"}