This project is a React application that allows users to create, modify, and manage flow diagrams using the React Flow library. It features custom nodes, drag-and-drop capabilities, and an interactive user interface.
https://bitespeed-reactflow-task.vercel.app/
- Custom Nodes: Use custom node types to create unique diagrams.
- Drag and Drop: Easily add new nodes by dragging and dropping them onto the canvas.
- Connection Management: Connect nodes with edges, with error handling for invalid connections.
- Node Selection: Select nodes to view and edit their details in a sidebar.
- Real-time Updates: Changes to node labels and connections are reflected in real time.
- Snackbar Notifications: Informative messages for connection errors and other actions.
These instructions will help you set up and run the project on your local machine for development and testing purposes.
Ensure you have the following installed:
- Node.js (version 14.x or later)
- npm (version 6.x or later)
-
Clone the repository:
git clone https://github.com/jovinjoju1999/Bitespeed-Reactflow-Task-Frontend.git cd bitespeed-reactflow-task
-
Install dependencies:
npm install
- To start the application, run:
npm run dev
- This will start the development server and open the application in your default web browser. The app will be running at http://localhost:5173.
- Add Nodes: Drag a node type from the sidebar and drop it onto the canvas.
- Connect Nodes: Click and drag from a source handle to a target handle to create an edge.
- Select Node: Click on a node to view and edit its details in the sidebar.
- Delete Node: Right-click on a node and select the delete option to remove it.
- react: JavaScript library for building user interfaces
- react-dom: Entry point for DOM rendering
- react-scripts: Configuration and scripts for Create React App
- reactflow: Library for building node-based diagrams
- @mui/material: Material-UI components for React
This `README.md` file provides a comprehensive overview of the project, including installation instructions, usage guidelines, and error handling messages. Adjust the repository URL and other specifics as needed.