https://github.com/priyanshu2229140/flowtalk-2.0
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.
https://github.com/priyanshu2229140/flowtalk-2.0
clerk-authentication mongodb react real-time-chat stream-chat tailwind-css video-calling
Last synced: 2 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/priyanshu2229140/flowtalk-2.0
- Owner: Priyanshu2229140
- Created: 2025-09-10T23:16:51.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-21T08:11:02.000Z (9 months ago)
- Last Synced: 2025-09-21T10:06:36.669Z (9 months ago)
- Topics: clerk-authentication, mongodb, react, real-time-chat, stream-chat, tailwind-css, video-calling
- Language: JavaScript
- Homepage: https://f-low-talk-2-0-front-end.vercel.app/
- Size: 1.28 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FLowTalk-2.0 π
[](https://flowtalkv2.vercel.app)
[](#license)
[](https://reactjs.org)
[](https://nodejs.org)
[](https://www.mongodb.com/)
[](https://getstream.io/)
FLowTalk-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.
---
## π Table of Contents
- [π File Structure](#-file-structure)
- [π Tech Stack & Frameworks](#-tech-stack--frameworks)
- [β¨ Features](#-features)
- [π API Flow Chart](#-api-flow-chart)
- [π System Architecture Diagram](#-system-architecture-diagram)
- [π Deployment](#-deployment)
- [π Cloning & Forking](#-cloning--forking)
- [π€ Contribution](#-contribution)
- [π‘ Acknowledgement](#-acknowledgement)
- [π License](#-license)
---
## π File Structure
> Here's the actual project structure, visualized for clarity:
```
FLOWTALK 2.0/
βββ Backend/
β βββ node_modules/
β βββ src/
β β βββ config/
β β β βββ db.js
β β β βββ env.js
β β β βββ ingest.js
β β β βββ stream.js
β β βββ controllers/
β β β βββ chat.controller.js
β β βββ middleware/
β β β βββ auth.middleware.js
β β βββ models/
β β β βββ user.model.js
β β βββ routes/
β β βββ server.js
β βββ .env
β βββ instrument.js
β βββ package-lock.json
β βββ package.json
β βββ vercel.json
βββ Frontend/
β βββ node_modules/
β βββ public/
β β βββ auth.png
β β βββ logo.png
β βββ src/
β β βββ components/
β β β βββ CreateChannelModal.jsx
β β β βββ CustomChannelHeader.jsx
β β β βββ CustomChannelPreview.jsx
β β β βββ InviteModal.jsx
β β β βββ MembersModal.jsx
β β β βββ PageLoader.jsx
β β β βββ PinnedMessagesModal.jsx
β β β βββ UsersList.jsx
β β βββ hooks/
β β βββ lib/
β β β βββ apis/
β β β βββ axios.js
β β βββ pages/
β β β βββ AuthPage.jsx
β β β βββ CallPage.jsx
β β β βββ HomePage.jsx
β β βββ providers/
β β βββ styles/
β β βββ App.css
β β βββ App.jsx
β β βββ index.css
β βββ .env
β βββ gitignore
β βββ eslintrc.json
β βββ index.html
β βββ package-lock.json
β βββ package.json
β βββ README.md
```
---
## π Tech Stack & Frameworks
### π₯οΈ **Frontend**
- **React**  β core SPA framework
- **React Router DOM** β navigation and routing
- **Redux** (optional) β global state management
- **Axios** β HTTP requests
- **Socket.IO-client** β real-time communication
- **CSS Modules/SASS/Styled-components** β component-level styling
### π» **Backend**
- **Node.js**  β JavaScript server runtime
- **Express.js** β routing & middleware
- **Socket.IO** β bidirectional real-time communication
- **Mongoose** β elegant MongoDB object modeling
- **jsonwebtoken** β authentication (JWT)
- **bcryptjs** β secure password hashing
- **dotenv** β environment configuration
- **Morgan/winston** (optional) β logging
### ποΈ **Database**
- **MongoDB** 
### βοΈ **Dev Tooling**
- **eslint/prettier** β code linting and formatting
- **nodemon** β backend auto-reloading
- **Postman** β API testing
---
## β¨ Features
- π **Authentication:** Secure registration & login using JWT.
- π¨οΈ **Real-time Chat:** Instant messaging via Socket.IO.
- π§βπ€βπ§ **Channel Management:** Create/manage channels, invitations, and memberships.
- π **Pinned Messages:** Highlight important discussions.
- π **Call Support:** Direct calls on supported channels.
- π₯ **User Lists & Member Modal Management.**
- π **Responsive UI:** Mobile & desktop friendly interface.
- π **Modern UX:** Clean, fast, and interactive experience.
- β‘ **Fully Deployed & Cloud-Hosted!**
**π [Live Project](https://f-low-talk-2-0-front-end.vercel.app/) π’ β Try it now!**
---
## π API Flow Chart
```mermaid
flowchart TD
A["Client (Frontend)"]
-->|HTTP Request| B[Express Server]
B -->|Authentication Middleware| C{JWT Valid?}
C -- Yes --> D[Controllers/Business Logic]
C -- No --> E[Error Handler]
D -->|DB Query/Operation| F[MongoDB]
F --> D
D -->|Response| A
```
---
## π System Architecture Diagram
```mermaid
graph LR
subgraph Client Side
A1[React App]
end
subgraph Server Side
B1[Express.js Server]
B2[API Controllers]
B3[Authentication Middleware]
B4[Socket.IO]
B5[MongoDB Database]
end
A1 -- REST API Calls --> B1
B1 --> B2
B1 --> B3
B1 <---> B4
B2 --> B5
B3 --> B5
B4 -- Real-Time Events --> A1
```
---
## π Deployment
The live project is hosted on [Vercel](https://vercel.com).
**π [Try FLowTalk-2.0 Live!](https://f-low-talk-2-0-front-end.vercel.app/)**
**Deploy your own instance:**
1. Fork & clone the repository.
```bash
git clone https://github.com/Priyanshu2229140/FLowTalk-2.0.git
cd FLowTalk-2.0
```
2. Inside `/Backend` and `/Frontend`, install dependencies:
```bash
cd Backend && npm install
cd ../Frontend && npm install
```
3. Configure your own `.env` files for both backend and frontend environments.
4. Start backend server:
```bash
cd Backend && npm run dev
```
5. Start frontend app:
```bash
cd Frontend && npm start
```
6. For one-click deployment, use Vercelβs [Import Project](https://vercel.com/new) feature.
---
## π Cloning & Forking
- **Clone this project**
```bash
git clone https://github.com/Priyanshu2229140/FLowTalk-2.0.git
```
- **Fork to your account:**
Click the βοΈ 'Fork' button at the top of [this repo](https://github.com/Priyanshu2229140/FLowTalk-2.0)
---
## π€ Contribution
1. **Fork the repo**
2. **Clone your fork**
`git clone https://github.com//FLowTalk-2.0.git`
3. **Create your branch**
`git checkout -b feature/YourFeature`
4. **Commit & Push your changes**
`git add .`
`git commit -m "Add your feature"`
`git push origin feature/YourFeature`
5. **Open a Pull Request**
Go to your forkβs repo on GitHub β "Pull requests" β "New pull request" β Select your branch β Submit.
---
## π‘ Acknowledgement
- π¦ [Priyanshu2229140](https://github.com/Priyanshu2229140) β project owner
- π All contributors, testers, and tool/library authors whose work makes this project possible
---
## π License
Distributed under the [MIT License](LICENSE).
---
> **Note:**
> Update your `.env` file and relevant configurations before running the app locally.
> For issues or ideas, open an [issue](https://github.com/Priyanshu2229140/FLowTalk-2.0/issues).
```
# Example Backend .env
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
PORT=5000
# Example Frontend .env
REACT_APP_API_URL=http://localhost:5000
```
---