FlowCraft - React Flow CSV Data Manipulator

This is the FlowCraft project, a React.js application built using React Flow, React Redux, Shade-CN, React Router DOM, and Papa Parse. It allows you to manipulate CSV data by performing operations such as sorting, filtering, slicing, and grouping. The manipulated data can be previewed in a table format and downloaded as either CSV or JSON.

Installation

Clone the repository using the following command:

git clone https://github.com/imvikashdev/react-flow-example.git

Navigate to the project directory:

cd react-flow-example

Install the dependencies:

npm install

Usage

To start the development server, run the following command:

npm run dev

This will start the FlowCraft application on a local development server.

To build the application for production, run the following command:

npm run build

This will generate a production-ready build of the FlowCraft application.

Live Demo

You can access the live demo of the FlowCraft application at https://flowcraft.imvikash.dev/.

Scripts

The available scripts in this project are:

  • dev: Starts the development server using Vite.
  • build: Transpiles the TypeScript code using TypeScript Compiler (tsc) and then builds the application using Vite.
  • lint: Runs ESLint to lint the TypeScript and TypeScript React files.
  • preview: Starts a preview server to preview the production build of the application.

Supported Data Operations

The FlowCraft application supports the following data operations:

  • Data Sorting: Sort the data based on one or more columns.
  • Data Filtering: Filter the data based on specified conditions.
  • Data Slicing: Extract a portion of the data based on specified start and end indices.
  • Data Grouping: Group the data based on one or more columns.

Data Preview and Download

The manipulated data can be previewed in a table format within the FlowCraft application. You can also download the manipulated data as either a CSV file or a JSON file.

Contributing

Contributions are welcome! If you find any issues or have any suggestions, please open an issue or submit a pull request.

License

This project is licensed under the MIT License.