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.
Before installing and running the project, make sure your system has the following:
Follow these clear and simple steps to get started:
Clone the repository:
git clone https://github.com/Dhyaneshwar/NestedSet.git
Navigate to the project directory:
cd NestedSet
Install dependencies: Using npm:
npm install
Or, using yarn:
yarn install
Run the development server: Using npm:
npm run dev
Or, using yarn:
yarn dev
Open in browser: Once the development server is running, open your browser and navigate to:
http://localhost:5173
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
The Home Page introduces the Nested Set Viewer Application, a tool for visualizing hierarchical data using the Nested Set Model. It highlights:
This page provides a concise overview of the app's purpose, functionality, and technologies, inviting users to explore hierarchical data seamlessly.
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:
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.
The Visualize Page presents hierarchical data through interactive, custom-built visualizations developed entirely without the use of third-party libraries. It features:
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.
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.
For any questions or issues, feel free to reach out to me.