start with vite

Vite Documentation

npm create vite@latest (project_name) -- -- template react // Then a project auto generated

create different folders

folder list at first

Project/
├── public
├── src/
│   ├── api
│   ├── assets
│   ├── components/
│   │   ├── logo
│   │   ├── cards
│   │   └── ScrollTop.jsx
│   ├── layout
│   ├── pages
│   ├── routes
│   ├── index.jsx
│   └── index.css
├── .gitignore
├── eslint.config.js
├── index.html
├── package.json
├── package-lock.json
└── README.md
└── vite.config.js

set the config of vite

export default defineConfig
  plugins: [react()],
  define: {
    global: "window",
  },
  resolve: { // set the convenient path for URL
    alias: [
      // url start with src locate to root/src
      {
        find: 'src',
        replacement: path.resolve(__dirname, "src"),
      },
      // url start with components locate to src/components
      {
        find: 'components',
        replacement: path.resolve(__dirname, "src/components"),
      }
    ],
  },
  server: { // set server object for default port and auto-start of website
    // this ensures that the browser opens upon server start
    open: true,
    // this sets a default port to 8888
    port: 8888,
  },
});

use the travel svg file from free resource website

create ScrollTop component for main App application

import PropTypes from 'prop-types';
import { useEffect } from 'react';

// ==============================|| NAVIGATION - SCROLL TO TOP ||============================== //

const ScrollTop = ({ children }) => {
  useEffect(() => {
    window.scrollTo({
      top: 0,
      left: 0,
      behavior: 'smooth'
    });
  }, []);

  return children || null;
};

ScrollTop.propTypes = {
  children: PropTypes.node
};

export default ScrollTop;

next step is to build route

create index.jsx file under route folder

import { createBrowserRouter } from "react-router-dom";

// project import
import MainRoutes from "./MainRoutes"; //local route
import LoginRoutes from "./LoginRoutes"; //local route

// ==============================|| ROUTING RENDER ||============================== //
const router = createBrowserRouter([MainRoutes, LoginRoutes], {
  basename: undefined,
});

export default router;

use the routerProvider

import { RouterProvider } from "react-router-dom";

<RouterProvider router={router} />

setup login page

set loginRoute File

const LoginRoutes = [
  {
    path: "/login",
    element: <LoginPage />,
  },
  {
    path: "/404",
    element: <NotFound />,
  },
  { path: "*", element: <NotFound /> },
];

// set main Route
const MainRoutes = {
  path: "/",
  element: <Layout />,
  children: [
    {
      index: true,
      element: <a href="/dashboard">Welcome to Home</a>,
    },
    {
      path: "dashboard",
      element: <Dashboard />,
    },
  ],
};


// layout
import { Outlet } from "react-router-dom";
<Outlet />  // nested router rendered here

install Tailwind CSS,Chart & React Chart

setup the dashboard