An open API service indexing awesome lists of open source software.

https://github.com/sanghanmol/chatbot-flow-builder

An interactive chatbot flow builder with a drag-and-drop UI, node connection logic, and a modern panel-based interface.
https://github.com/sanghanmol/chatbot-flow-builder

reactflow reactjs uuid vitejs

Last synced: 24 days ago
JSON representation

An interactive chatbot flow builder with a drag-and-drop UI, node connection logic, and a modern panel-based interface.

Awesome Lists containing this project

README

          

# πŸ€– BiteSpeed Chatbot Flow Builder

An interactive chatbot flow builder with a **drag-and-drop UI**, node connection logic, and a modern panel-based interface.
Built with **React + React Flow + MUI**.

---

## πŸ“Œ Overview
BiteSpeed Flow Builder allows users to:

βœ… Create **Text Nodes** representing messages
βœ… Drag and drop nodes from the **Nodes Panel**
βœ… Connect nodes using **edges** to define conversation flow
βœ… Edit node text via **Settings Panel**
βœ… Save flows with **validation for incomplete connections**

---

## πŸš€ Features

- πŸ“ **Text Node**
- Represents a chatbot message
- Multiple nodes can exist in a single flow
- Added to canvas via drag-and-drop

- πŸ–‡ **Edges**
- Connect nodes to define flow order
- Source handle: **only one outgoing edge allowed**
- Target handle: **can have multiple incoming edges**

- πŸ›  **Settings Panel**
- Appears when a node is selected
- Edit node text dynamically

- πŸ’Ύ **Save Button**
- Validates flow
- Shows error if multiple nodes have empty target handles
- Logs nodes & edges to console on successful save

- 🎨 **UI**
- Color-coded nodes & handles
- Panels for node selection and settings
- Responsive and modern layout

---

## πŸ–₯️ Tech Stack

- βš›οΈ React + Vite
- πŸ”— React Flow
- πŸ’Ύ Local state management (useState, useRef)
- πŸ“ UUID for unique node IDs

---

## πŸ“Έ UI Preview

- **Left panel:** Nodes Panel for dragging new nodes
- **Canvas:** Main flow area to place & connect nodes
- **Right panel:** Settings Panel for editing selected node
- **Edges:** Connect nodes to define chatbot conversation

---

## πŸ› οΈ Installation & Run

# Clone the repo
- git clone https://github.com/Sanghanmol/Chatbot-Flow-Builder.git
- cd my-app

# Install dependencies
npm install

# Run the app
npm run dev

---

## πŸš€ Usage

1️⃣ Drag a **Message node** from Nodes Panel to canvas
2️⃣ Drag from a node’s **source handle** to another node’s **target handle** to connect them
3️⃣ Select a node to edit text via **Settings Panel**
4️⃣ Click **Save** β†’ Validates flow and logs nodes & edges
5️⃣ Add multiple nodes and connect freely to build chatbot flow

---

## 🎨 UI Highlights

βœ… Drag-and-drop **Nodes Panel**
βœ… **Color-coded nodes** for easy identification
βœ… **Edges** clearly show connections
βœ… Responsive **canvas & panels**
βœ… **Settings Panel** for live node editing

---

### πŸ“œ License

MIT License © 2025 - Created with ❀️ by Anmol Sangha

---