NestedSet Tailwind Templates

Nestedset

A modern web application for visualizing hierarchical data using the Nested Set Model. Built with āš›ļø React, šŸŽØ Tailwind CSS, and šŸ“Š D3.js, it offers interactive visualizations and customizable tables for seamless data exploration. Perfect for developers and data enthusiasts to explore and analyze complex hierarchies efficiently. šŸš€āœØ

NestedSet - The Hierarchical Visualiser

Welcome to the NestedSet project! This is a modern, fast, and efficient web application built with React and Tailwind. This README file will guide you through the process of installing and running the project.


Features

  • Blazing Fast Development: Powered by Vite for lightning-fast build and hot module replacement.
  • Modern React: Built with the latest React features, including Redux, hooks and functional components.
  • Modern Styling: Styled with Tailwind CSS.

Table of Contents

  1. Prerequisites
  2. Installation
  3. Project Structure

Prerequisites

Before installing and running the project, make sure your system has the following:

  • Node.js (v16 or higher)
  • npm (v7 or higher) or yarn
  • A modern web browser

Installation

Follow these clear and simple steps to get started:

  1. Clone the repository:

    git clone https://github.com/Dhyaneshwar/NestedSet.git
    
  2. Navigate to the project directory:

    cd NestedSet
    
  3. Install dependencies: Using npm:

    npm install
    

    Or, using yarn:

    yarn install
    
  4. Run the development server: Using npm:

    npm run dev
    

    Or, using yarn:

    yarn dev
    
  5. Open in browser: Once the development server is running, open your browser and navigate to:

    http://localhost:5173
    

Project Structure

The project follows a clean and modular folder structure:

ā”œā”€ā”€ node_modules        # Installed dependencies
ā”œā”€ā”€ public              # Static assets like index.html and public files
ā”œā”€ā”€ src                 # Main source code
│   ā”œā”€ā”€ components      # React components for the UI
│   │   ā”œā”€ā”€ Dashboard.jsx       # Dashboard component for displaying table
│   │   ā”œā”€ā”€ Home.jsx            # Main home page component
│   │   ā”œā”€ā”€ Title.jsx           # Title and header component
│   │   ā”œā”€ā”€ Visualise.jsx       # Component for data visualization
│   ā”œā”€ā”€ const           # Constants and static data
│   │   └── tableData.js        # Column Structure for table rendering
│   ā”œā”€ā”€ customHooks     # Custom React hooks
│   │   └── useFetch.jsx        # Custom hook for fetching data from API
│   ā”œā”€ā”€ redux           # Redux setup for state management
│   │   ā”œā”€ā”€ dataSelectors.js    # Selectors for state access
│   │   ā”œā”€ā”€ dataSlice.js        # Slice for managing data-related state
│   │   └── store.js            # Redux store configuration
│   ā”œā”€ā”€ utils           # Utility functions and reusable components
│   │   ā”œā”€ā”€ CustomPack.jsx      # Helper for data packing - Visualise data in circular packs
│   │   ā”œā”€ā”€ CustomTable.jsx     # Component for rendering tables - Visualise data in Table Format
│   │   ā”œā”€ā”€ CustomTree.jsx      # Component for rendering tree structures - Visualise data in Tree format
│   │   ā”œā”€ā”€ ModalContainer.js   # Modal container for pop-ups
│   │   └── transformer.js      # Helper for data transformation
│   ā”œā”€ā”€ App.css         # Global styles
│   ā”œā”€ā”€ App.jsx         # Root app component
│   ā”œā”€ā”€ index.css       # Additional global styles
│   ā”œā”€ā”€ index.html      # Entry HTML file
│   └── main.jsx        # Main React entry point
ā”œā”€ā”€ .gitignore          # Git ignore configuration
ā”œā”€ā”€ .prettierrc         # Prettier configuration for code formatting
ā”œā”€ā”€ package.json        # Project dependencies and scripts
ā”œā”€ā”€ postcss.config.js   # PostCSS configuration
ā”œā”€ā”€ tailwind.config.js  # Tailwind CSS configuration
ā”œā”€ā”€ vite.config.js      # Vite configuration
└── README.md           # Project documentation

Home Page

The Home Page introduces the Nested Set Viewer Application, a tool for visualizing hierarchical data using the Nested Set Model. It highlights:

  • Features: Interactive visualizations, real-time node data display, and efficient nested set rendering.
  • Technologies: React, Tailwind CSS, Material UI, Styled Components, and D3.js.
  • How It Works: Fetch data, display hierarchy, enable user interaction, and provide visual insights.

This page provides a concise overview of the app's purpose, functionality, and technologies, inviting users to explore hierarchical data seamlessly.


Dashboard Page

image 1

This page displays hierarchical data fetched from an API in a Material UI Data Grid Table, which is highly customizable and user-friendly. The table shows critical columns such as:

  • ID: Unique identifier for each node.
  • Node: The name of the node.
  • Left/Right: Indicators for the nested set structure.
  • Depth: The depth of each node in the hierarchy.

At the bottom, there is a clickable link: "Click Here To Visualize the Data", which navigates users to the Visualize Page for graphical representations of the data. This page acts as a starting point for analyzing the dataset in a structured tabular format.


Visualise Page

image 1

The Visualize Page presents hierarchical data through interactive, custom-built visualizations developed entirely without the use of third-party libraries. It features:

  1. Tree View: A dynamic tree diagram that visually represents the hierarchical structure, offering a clear and intuitive understanding of parent-child relationships and the overall data hierarchy.

At the bottom of the page, a clickable link "Click Here To View the Table" allows users to navigate back to the Dashboard page. This page combines interactivity and clarity to enhance data exploration.

image 1

The tree nodes are fully interactive. When a user clicks on any node, a modal is triggered to display comprehensive details about the selected node, enhancing the user experience with clear and contextual information.


Happy coding! šŸš€

For any questions or issues, feel free to reach out to me.

Top categories

Loading Svelte Themes