{"id":31295256,"url":"https://github.com/priyanshu2229140/flowtalk-2.0","last_synced_at":"2026-04-12T17:03:53.993Z","repository":{"id":315867495,"uuid":"1054488738","full_name":"Priyanshu2229140/FLowTalk-2.0","owner":"Priyanshu2229140","description":" FLowTalk-2.0 FlowTalk-2.0 is a modern, real-time chat and video-calling application designed for seamless team collaboration. It leverages a robust set of technologies to provide secure, real-time messaging, and efficient communication features.","archived":false,"fork":false,"pushed_at":"2025-09-21T08:11:02.000Z","size":1338,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-21T10:06:36.669Z","etag":null,"topics":["clerk-authentication","mongodb","react","real-time-chat","stream-chat","tailwind-css","video-calling"],"latest_commit_sha":null,"homepage":"https://f-low-talk-2-0-front-end.vercel.app/","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/Priyanshu2229140.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-09-10T23:16:51.000Z","updated_at":"2025-09-21T08:20:59.000Z","dependencies_parsed_at":"2025-09-21T10:06:39.729Z","dependency_job_id":"b0d51b78-bbc9-4e7c-a6cf-baa643e43aab","html_url":"https://github.com/Priyanshu2229140/FLowTalk-2.0","commit_stats":null,"previous_names":["priyanshu2229140/flowtalk-2.0"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Priyanshu2229140/FLowTalk-2.0","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Priyanshu2229140%2FFLowTalk-2.0","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Priyanshu2229140%2FFLowTalk-2.0/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Priyanshu2229140%2FFLowTalk-2.0/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Priyanshu2229140%2FFLowTalk-2.0/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Priyanshu2229140","download_url":"https://codeload.github.com/Priyanshu2229140/FLowTalk-2.0/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Priyanshu2229140%2FFLowTalk-2.0/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279009475,"owners_count":26084609,"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-11T02:00:06.511Z","response_time":55,"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":["clerk-authentication","mongodb","react","real-time-chat","stream-chat","tailwind-css","video-calling"],"created_at":"2025-09-24T20:01:13.848Z","updated_at":"2026-04-12T17:03:53.986Z","avatar_url":"https://github.com/Priyanshu2229140.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FLowTalk-2.0 🚀\n\n[![Live Demo](https://img.shields.io/badge/Live%20Project-FLowTalk--2.0-green?style=for-the-badge\u0026logo=vercel)](https://flowtalkv2.vercel.app)\n[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=for-the-badge)](#license)\n[![React](https://img.shields.io/badge/built%20with-React-blue?logo=react\u0026style=for-the-badge)](https://reactjs.org)\n[![Node.js](https://img.shields.io/badge/Backend-Node.js-green?logo=node.js\u0026style=for-the-badge)](https://nodejs.org)\n[![MongoDB](https://img.shields.io/badge/Database-MongoDB-brightgreen?logo=mongodb\u0026style=for-the-badge)](https://www.mongodb.com/)\n[![Stream.IO](https://img.shields.io/badge/Realtime-Stream.IO-black?logo=socket.io\u0026style=for-the-badge)](https://getstream.io/)\n\nFLowTalk-2.0 is a powerful and modern conversational platform built for seamless, real-time communications. The design leverages a rich JavaScript ecosystem, best-in-class libraries, and robust backend architecture.\n\n---\n\n## 🔍 Table of Contents\n\n- [📁 File Structure](#-file-structure)\n- [🛠 Tech Stack \u0026 Frameworks](#-tech-stack--frameworks)\n- [✨ Features](#-features)\n- [🔁 API Flow Chart](#-api-flow-chart)\n- [🏗 System Architecture Diagram](#-system-architecture-diagram)\n- [🚀 Deployment](#-deployment)\n- [🐑 Cloning \u0026 Forking](#-cloning--forking)\n- [🤝 Contribution](#-contribution)\n- [💡 Acknowledgement](#-acknowledgement)\n- [📜 License](#-license)\n\n---\n\n## 📁 File Structure\n\n\u003e Here's the actual project structure, visualized for clarity:\n\n```\nFLOWTALK 2.0/\n├── Backend/\n│   ├── node_modules/\n│   ├── src/\n│   │   ├── config/\n│   │   │   ├── db.js\n│   │   │   ├── env.js\n│   │   │   ├── ingest.js\n│   │   │   └── stream.js\n│   │   ├── controllers/\n│   │   │   └── chat.controller.js\n│   │   ├── middleware/\n│   │   │   └── auth.middleware.js\n│   │   ├── models/\n│   │   │   └── user.model.js\n│   │   ├── routes/\n│   │   └── server.js\n│   ├── .env\n│   ├── instrument.js\n│   ├── package-lock.json\n│   ├── package.json\n│   └── vercel.json\n├── Frontend/\n│   ├── node_modules/\n│   ├── public/\n│   │   ├── auth.png\n│   │   └── logo.png\n│   ├── src/\n│   │   ├── components/\n│   │   │   ├── CreateChannelModal.jsx\n│   │   │   ├── CustomChannelHeader.jsx\n│   │   │   ├── CustomChannelPreview.jsx\n│   │   │   ├── InviteModal.jsx\n│   │   │   ├── MembersModal.jsx\n│   │   │   ├── PageLoader.jsx\n│   │   │   ├── PinnedMessagesModal.jsx\n│   │   │   └── UsersList.jsx\n│   │   ├── hooks/\n│   │   ├── lib/\n│   │   │   └── apis/\n│   │   │       └── axios.js\n│   │   ├── pages/\n│   │   │   ├── AuthPage.jsx\n│   │   │   ├── CallPage.jsx\n│   │   │   └── HomePage.jsx\n│   │   ├── providers/\n│   │   └── styles/\n│   │       ├── App.css\n│   │       ├── App.jsx\n│   │       └── index.css\n│   ├── .env\n│   ├── gitignore\n│   ├── eslintrc.json\n│   ├── index.html\n│   ├── package-lock.json\n│   ├── package.json\n│   └── README.md\n```\n\n---\n\n## 🛠 Tech Stack \u0026 Frameworks\n\n### 🖥️ **Frontend**\n- **React** ![React](https://img.icons8.com/color/16/000000/react-native.png) – core SPA framework\n- **React Router DOM** – navigation and routing\n- **Redux** (optional) – global state management\n- **Axios** – HTTP requests\n- **Socket.IO-client** – real-time communication\n- **CSS Modules/SASS/Styled-components** – component-level styling\n\n### 💻 **Backend**\n- **Node.js** ![Node](https://img.icons8.com/fluency/16/000000/node-js.png) – JavaScript server runtime\n- **Express.js** – routing \u0026 middleware\n- **Socket.IO** – bidirectional real-time communication\n- **Mongoose** – elegant MongoDB object modeling\n- **jsonwebtoken** – authentication (JWT)\n- **bcryptjs** – secure password hashing\n- **dotenv** – environment configuration\n- **Morgan/winston** (optional) – logging\n\n### 🗄️ **Database**\n- **MongoDB** ![MongoDB](https://img.icons8.com/color/16/000000/mongodb.png)\n\n### ⚒️ **Dev Tooling**\n- **eslint/prettier** – code linting and formatting\n- **nodemon** – backend auto-reloading\n- **Postman** – API testing\n\n---\n\n## ✨ Features\n\n- 🔒 **Authentication:** Secure registration \u0026 login using JWT.\n- 🗨️ **Real-time Chat:** Instant messaging via Socket.IO.\n- 🧑‍🤝‍🧑 **Channel Management:** Create/manage channels, invitations, and memberships.\n- 📌 **Pinned Messages:** Highlight important discussions.\n- 📞 **Call Support:** Direct calls on supported channels.\n- 👥 **User Lists \u0026 Member Modal Management.**\n- 🌐 **Responsive UI:** Mobile \u0026 desktop friendly interface.\n- 📝 **Modern UX:** Clean, fast, and interactive experience.\n- ⚡ **Fully Deployed \u0026 Cloud-Hosted!**\n\n**🌟 [Live Project](https://f-low-talk-2-0-front-end.vercel.app/) 🟢 – Try it now!**\n\n---\n\n## 🔁 API Flow Chart\n\n```mermaid\nflowchart TD\n    A[\"Client (Frontend)\"]\n    --\u003e|HTTP Request| B[Express Server]\n    B --\u003e|Authentication Middleware| C{JWT Valid?}\n    C -- Yes --\u003e D[Controllers/Business Logic]\n    C -- No --\u003e E[Error Handler]\n    D --\u003e|DB Query/Operation| F[MongoDB]\n    F --\u003e D\n    D --\u003e|Response| A\n```\n\n---\n\n## 🏗 System Architecture Diagram\n\n```mermaid\ngraph LR\n    subgraph Client Side\n        A1[React App]\n    end\n    subgraph Server Side\n        B1[Express.js Server]\n        B2[API Controllers]\n        B3[Authentication Middleware]\n        B4[Socket.IO] \n        B5[MongoDB Database]\n    end\n\n    A1 -- REST API Calls --\u003e B1\n    B1 --\u003e B2\n    B1 --\u003e B3\n    B1 \u003c---\u003e B4\n    B2 --\u003e B5\n    B3 --\u003e B5\n    B4 -- Real-Time Events --\u003e A1\n```\n\n---\n\n## 🚀 Deployment\n\nThe live project is hosted on [Vercel](https://vercel.com).  \n**🔗 [Try FLowTalk-2.0 Live!](https://f-low-talk-2-0-front-end.vercel.app/)**\n\n**Deploy your own instance:**\n\n1. Fork \u0026 clone the repository.  \n   ```bash\n   git clone https://github.com/Priyanshu2229140/FLowTalk-2.0.git\n   cd FLowTalk-2.0\n   ```\n2. Inside `/Backend` and `/Frontend`, install dependencies:  \n   ```bash\n   cd Backend \u0026\u0026 npm install\n   cd ../Frontend \u0026\u0026 npm install\n   ```\n3. Configure your own `.env` files for both backend and frontend environments.\n4. Start backend server:  \n   ```bash\n   cd Backend \u0026\u0026 npm run dev\n   ```\n5. Start frontend app:  \n   ```bash\n   cd Frontend \u0026\u0026 npm start\n   ```\n6. For one-click deployment, use Vercel’s [Import Project](https://vercel.com/new) feature.\n\n---\n\n## 🐑 Cloning \u0026 Forking\n\n- **Clone this project**  \n  ```bash\n  git clone https://github.com/Priyanshu2229140/FLowTalk-2.0.git\n  ```\n- **Fork to your account:**  \n  Click the ⭐️ 'Fork' button at the top of [this repo](https://github.com/Priyanshu2229140/FLowTalk-2.0)\n\n---\n\n## 🤝 Contribution\n\n1. **Fork the repo**\n2. **Clone your fork**  \n   `git clone https://github.com/\u003cyour-username\u003e/FLowTalk-2.0.git`\n3. **Create your branch**  \n   `git checkout -b feature/YourFeature`\n4. **Commit \u0026 Push your changes**  \n   `git add .`  \n   `git commit -m \"Add your feature\"`  \n   `git push origin feature/YourFeature`\n5. **Open a Pull Request**  \n   Go to your fork’s repo on GitHub ➔ \"Pull requests\" ➔ \"New pull request\" ➔ Select your branch ➔ Submit.\n\n---\n\n## 💡 Acknowledgement\n\n- 🦄 [Priyanshu2229140](https://github.com/Priyanshu2229140) – project owner\n- 🙏 All contributors, testers, and tool/library authors whose work makes this project possible\n\n---\n\n## 📜 License\n\nDistributed under the [MIT License](LICENSE).\n\n---\n\n\u003e **Note:**  \n\u003e Update your `.env` file and relevant configurations before running the app locally.  \n\u003e For issues or ideas, open an [issue](https://github.com/Priyanshu2229140/FLowTalk-2.0/issues).\n\n```\n# Example Backend .env\nMONGO_URI=your_mongodb_connection_string\nJWT_SECRET=your_jwt_secret\nPORT=5000\n\n# Example Frontend .env\nREACT_APP_API_URL=http://localhost:5000\n```\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpriyanshu2229140%2Fflowtalk-2.0","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpriyanshu2229140%2Fflowtalk-2.0","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpriyanshu2229140%2Fflowtalk-2.0/lists"}