This feature-rich, interactive React dashboard application is designed to handle various components such as dynamic tables, filters, pagination, search functionalities, sidebar navigation, and more. The project uses react-router-dom
for routing, Tailwind CSS for styling, and state management via useState
, useEffect
, and custom hooks.
- Link to Design File: https://www.figma.com/design/6rMhyrUQYgy4NW03QQC3il/UI-Developer-Assignment-(Copy)?node-id=4-2473&t=6iHLhlanCiVgogoR-1.
- Dark Mode Support: Complete dark mode styling using Tailwind CSS. Click the Sun icon in the top navigation to toggle between light and dark mode.
- Dynamic Order List: A fully paginated, sortable, and filterable order list with status color codes. Click on the Orders card in the dashboard to view the Order List.
- Left and Right Sidebar: Toggleable left and right sidebars with smooth slide-in and out transitions. Click on the sidebar icons in the top navigation on either side to toggle.
- Search Functionality:
- Global search functionality with keyboard shortcuts (
Cmd + /
orCtrl + /
) to quickly search and up/down key arrows to navigate.
- Global search functionality with keyboard shortcuts (
- Breadcrumb Navigation: A dynamic breadcrumb component that reflects the current route and provides a seamless user experience.
- Sort and Filter:
- Sort functionality to organize the table by user or other parameters.
- Multi-select filters with interactive pills that allow the removal of applied filters.
- Custom Accordion Component: Smooth accordion transitions for various page components.
- React: The core framework for building UI components.
- Tailwind CSS: Utility-first CSS framework for styling.
- Framer Motion: To handle animations(for eg: staggered animation) on different elements for a visual appeal.
- React Router DOM: For routing and navigation.
- Recharts: To implement charts and visualizations.
- Custom Hooks: For handling various functionalities such as dropdowns, keyboard shortcuts, and click outside.
- SVG Icons: Using scalable vector graphics for icons throughout the app.
To get a local copy of the project up and running, follow these steps:
git clone https://github.com/gaurish-saini/ecommerce-dashboard-react.git
cd ecommerce-dashboard-react
Before starting the project, install all required dependencies:
npm install
To start the React development server on your local machine:
npm start
This will open the app in your default browser at http://localhost:3000/
.
- A reusable card component used for displaying key metrics (e.g., revenue, sales).
- Custom accordion with smooth animations and dynamic icons.
- Dynamically generated breadcrumbs to match the current route.
- A search bar with keyboard shortcut support and dropdown search suggestions.
- Handles table data, pagination, sorting, filtering, and row selection.
- Detects when a click occurs outside of a referenced element and triggers a callback.
- Registers and handles global keyboard shortcuts.
- Handles keyboard navigation for lists or dropdown items using arrow keys.
- This project is deployed here: https://byewind-juspay.netlify.app/