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.
- Host: GitHub
- URL: https://github.com/sanghanmol/chatbot-flow-builder
- Owner: Sanghanmol
- Created: 2025-08-20T19:40:42.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2025-08-20T21:04:15.000Z (9 months ago)
- Last Synced: 2025-09-13T18:24:50.170Z (9 months ago)
- Topics: reactflow, reactjs, uuid, vitejs
- Language: JavaScript
- Homepage: https://sanghanmol.github.io/Chatbot-Flow-Builder/
- Size: 150 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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
---