{"id":27700354,"url":"https://github.com/youssefezzat304/plausch","last_synced_at":"2026-02-20T17:31:16.955Z","repository":{"id":286111016,"uuid":"953631806","full_name":"youssefezzat304/Plausch","owner":"youssefezzat304","description":"A full-stack real-time chat application built with Socket.IO, Next.js, Node.js, and MongoDB. Still under active development.","archived":false,"fork":false,"pushed_at":"2025-04-04T11:20:17.000Z","size":549,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-04T12:25:50.075Z","etag":null,"topics":["chat-application","mongodb","nextjs","real-time","socket-io"],"latest_commit_sha":null,"homepage":"","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/youssefezzat304.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2025-03-23T19:47:05.000Z","updated_at":"2025-04-04T11:20:21.000Z","dependencies_parsed_at":"2025-04-04T12:36:07.722Z","dependency_job_id":null,"html_url":"https://github.com/youssefezzat304/Plausch","commit_stats":null,"previous_names":["youssefezzat304/plausch"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youssefezzat304%2FPlausch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youssefezzat304%2FPlausch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youssefezzat304%2FPlausch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youssefezzat304%2FPlausch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/youssefezzat304","download_url":"https://codeload.github.com/youssefezzat304/Plausch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250878763,"owners_count":21501741,"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":["chat-application","mongodb","nextjs","real-time","socket-io"],"created_at":"2025-04-25T18:59:13.441Z","updated_at":"2026-02-20T17:31:16.925Z","avatar_url":"https://github.com/youssefezzat304.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Plausch](https://github.com/youssefezzat304/Dialog.io-realtime-chat)\n\nA real-time chat application built with Next.js, Node.js, Express, Socket.IO, MongoDB, and TypeScript . This project is primarily developed for **educational purposes**, serving as a hands-on learning experience in building real-time web applications with modern web technologies.\n\n## Installation \u0026 Setup\n\nClone the Repository\n\n```bash\ngit clone https://github.com/youssefezzat304/Plausch.git\ncd Plausch\n```\n\nInstall Dependencies\n\n```bash\ncd packges/server\nnpm install\n```\n\n```bash\ncd packages/client\nnpm install\n```\n\n##### Setup environment variables\n\nServer\n\n```\n// .env\n\nNODE_ENV=development\n\nPORT=\u003cyour-port\u003e\n\nDATABASE_CONNECTION=\"mongodb+srv://\u003cemail\u003e:\u003cpassword\u003e@******\"\n\nNEXTAUTH_SECRET=\"\u003cyour-secret-key\u003e\"\n```\n\nClient\n\n```\n// .env\n\nNEXTAUTH_SECRET=\"\u003cyour-secret-key\u003e\" (the same key as in the server environment variables)\n\nNEXTAUTH_URL=\"\u003cyour-auth-url\u003e\"\n\nNEXT_PUBLIC_SOCKET_URL=\"\u003cyour-socket-url\u003e\"\n```\n\n#### Run the app\n\nclient\n\n```bash\ncd packges/client\npnpm run dev\n```\n\nserver\n\n```bash\ncd packges/server\npnpm run dev\n```\n\n## Features\n\n### Currently Available\n\n- 🔒 **Authentication \u0026 Authorization**\n- 📬 **Real-time Messaging**\n- 🖼️ **User Profile details**\n- 📡 **WebSockets for Instant Updates**\n- 🤝 **Add Friends**\n- ✅ **Status Check** (Online/Offline)\n\n### Upcoming\n\n- **📂 Sending Media Files** (Images, Videos, Documents)\n- 🔍 **Search** (Users, Messages, and Chats)\n- 👥 **Group Chat** (Multiple Participants, Admin Controls)\n- 🚫 **Block Users** (Prevent Unwanted Interactions)\n- 🎤 **Voice Notes** (Send and Receive Audio Messages)\n- 📹 **Video Calls** (One-on-One \u0026 Group Video Calls)\n- 🧑‍💻 **End-to-End Encryption**\n- 🌙 **Dark Mode \u0026 Custom Themes**\n- 📌 **Pinned Messages \u0026 Starred Chats**\n- 📨 **Scheduled \u0026 Self-Destructing Messages**\n- 🔄 **Message Reactions \u0026 Edits**\n- 🌍 **Multi-Language Support**\n- 🤖 **AI Chatbot Integration**\n\n## API Documentation\n\n### User Authentication\n\n| Method | Endpoint             | Description         | Authentication required |\n| ------ | -------------------- | ------------------- | ----------------------- |\n| `POST` | `/api/auth/register` | Register a new user | ❌ No                   |\n| `POST` | `/api/auth/login`    | Login user          | ❌ No                   |\n| `POST` | `/api/auth/logout`   | Logout user         | ✅ Yes                  |\n| `GET`  | `/api/auth/me`       | Get current user    | ✅ Yes                  |\n\n### Users\n\n| Method  | Endpoint         | Description          | Authentication required |\n| ------- | ---------------- | -------------------- | ----------------------- |\n| `GET`   | `/users/:userId` | Get specific user    | ✅ Yes                  |\n| `PATCH` | `/users/:userId` | Update specific user | ✅ Yes                  |\n\n### Friends\n\n| Method | Endpoint                  | Description              | Authentication required |\n| ------ | ------------------------- | ------------------------ | ----------------------- |\n| `GET`  | `/:userId/privateChats`   | Get private chats list   | ✅ Yes                  |\n| `GET`  | `/:userId/contacts`       | Get contacts list        | ✅ Yes                  |\n| `GET`  | `/:userId/friendRequests` | Get friend requests list | ✅ Yes                  |\n\n### Messages\n\n| Method | Endpoint                   | Description                            | Authentication required |\n| ------ | -------------------------- | -------------------------------------- | ----------------------- |\n| `GET`  | `/message/:conversationId` | Get messages for specific conversation | ✅ Yes                  |\n\n### Private chat\n\n| Method | Endpoint               | Description               | Authentication required |\n| ------ | ---------------------- | ------------------------- | ----------------------- |\n| `GET`  | `/privateChat/:chatId` | Get specific chat details | ✅ Yes                  |\n\n### Real-time events\n\n| Event name              | Triggered when                      |\n| ----------------------- | ----------------------------------- |\n| `\"addFriend\"`           | user adds a friend                  |\n| `\"friendRequest\"`       | user sends a friend request         |\n| `\"acceptFriendRequest\"` | user accepts a friend request       |\n| `\"rejectFriendRequest\"` | user rejects a friend request       |\n| `\"joinConversation\"`    | user joins a conversation           |\n| `\"leaveConversation\"`   | user leaves a conversation          |\n| `\"sendMessage\"`         | user sends a message                |\n| `\"newMessage\"`          | new message is received             |\n| `\"typing\"`              | user is typing a message            |\n| `\"onlineFriends\"`       | user's friends online status change |\n\n## 🖼️ Screenshots\n\nThis interface incorporates design elements inspired by [Ronas IT | UI/UX Team](https://dribbble.com/shots/23280048-Web-Chat-UI).\n\n### Landing page (Temporary)\n\n![]()![1743778158143](image/README/1743778158143.gif)\n\n### Login page\n\n![1743778010667](image/README/1743778010667.gif)\n\n### Add Friend\n\n![1743778351695](image/README/1743778351695.gif)\n\n### Copy message and Chat info\n\n![1743778577111](image/README/1743778577111.gif)\n\n### User Profile\n\n![1743778470828](image/README/1743778470828.png)\n\nmore screenshots coming soon...\n\n## License\n\nThis project is licensed under the **MIT License** .\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoussefezzat304%2Fplausch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyoussefezzat304%2Fplausch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoussefezzat304%2Fplausch/lists"}