• Stars
    star
    126
  • Rank 284,543 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 5 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

React Material template connected to working Node API

Material Dashboard 2 React NodeJS API Tweet

version GitHub issues open GitHub issues closed

Documentation built by Developers

Each element is well presented in very complex documentation.

You can read more about the documentation here.

Example Pages

If you want to get inspiration or just show something directly to your clients, you can jump-start your development with our pre-built example pages. You will be able to quickly set up the basic structure for your web project.

View example pages here.

HELPFUL LINKS

Special thanks

During the development of this dashboard, we have used many existing resources from awesome developers. We want to thank them for providing their tools open source:

  • MUI - The React UI library for faster and easier web development.
  • React ChartJS 2 - Simple yet flexible React charting for designers & developers.
  • ChromaJS - A small-ish zero-dependency JavaScript library for all kinds of color conversions and color scales.

Let us know your thoughts below. And good luck with development!

If you want to get more features, go PRO with Material Dashboard 2 PRO React NodeJS API.

Table of Contents

Versions

React + Laravel JSON:API React + NodeJS
Material Dashboard 2 React Laravel JSON:API Material Dashboard 2 React NodeJS API
React

Demo

Register Login Dashboard
Forgot Password Page Reset Password Page Profile Page

View More

Quick start

Prerequisites

For your local development you need to have Node.js and npm version 16 or above installed and a registered MongoDB collection:

ExpressJS API Backend Installation

To install the project you need to have version 16 of Node.js and npm version 8. The first step is to run npm install command. Next you need to copy the .env.example file and name it .env. There are the variables for the database and the URLs:

Material React Frontend Installation

  1. Set up your api for the project
  2. Download and Install NodeJs LTS version from NodeJs Official Page.
  3. Navigate to the root ./ directory of the product and run yarn install or npm install to install our local dependencies.
  4. Add in your projeact an .env file with the variables
  • REACT_APP_URL=your-react-project
  • REACT_APP_API_URL=the-path-of-the-api
  • REACT_APP_IS_DEMO=false if you don't want any restrictions and true if you want
  1. In package.json in the proxy variable add the right path to your API
  2. Run yarn start or npm start

Documentation

The documentation for the Material Dashboard is hosted at our website.

The documentation for the ExpressJS API is hosted here.

Login

If a user is not logged in can access only the authentication pages: Login, Register and Forgot Password. By default, there [email protected] with password secret as credentials. For authentication context and protected routes were used to keep track of the state of the users. Axios together with an http service and helped by an auth service and crud service handled the requests. The /src/service keeps the logic of the services while /src/context has the logic for the different contexts used, including the authentication context.

In the /src/auth/login/index.js is the logic for logging in an existing user:

    try {
      const response = await AuthService.login(myData);
      authContext.login(response.access_token, response.refresh_token);
    } catch (res) {
      if (res.hasOwnProperty("message")) {
        setCredentialsError(res.message);
      } else {
        setCredentialsError(res.errors[0].detail);
      }
    }

Register

It can be added a new user by registration. The user has a name, email, password and role that needs to be added. All the inputs are verified and validated. You can simply access the page with the Sign up button or adding /register in the url.

In the /src/auth/register/index.js is the logic for signing up a new user:

    const response = await AuthService.register(myData);

    authContext.login(response.access_token, response.refresh_token);

Forgot Password

In case of forgetting its password, the user can go to a page where he adds the email of the account and an email will be send to that address to help with resetting the password. It can be accessed from the Login page by clicking the here button or by adding /forgot-password.

In the /src/auth/forgot-password/index.js is the logic for requesting a password reset:

    try {
      const response = await authService.forgotPassword(myData);
      if (error === false) {
        setNotification(true);
      }
    } catch (err) {
      console.error(err);
      return null;
    }

Reset Password

For resetting the password, the user must acceess the url sent int the email. By adding the new password and the confirmation and then pressing the channge button the data of the account is updated. You can go back to login from the button in notification.

In the /src/auth/reset-password/index.js is the logic for resetting the password:

  useEffect(() => {
    // get the token and email sent in the url
    const queryParams = new URLSearchParams(window.location.search);
    setToken(queryParams.get("token"));
    setEmail(queryParams.get("email"));
  }, []);

User Profile

From the sidenav, in the CRUDs section, or by adding /cruds/user-profile in the url, the User Profile is a dynamic page where the user can add details about him: profile image, name, email or change password. Validation is added for every input.

In the /src/services/auth-serivce you can find the routes sets for the request and in the /src/cruds/user-profile is the component for the editing the profile details.

  getProfile = async() => {
    const getProfile = 'me';
    return await HttpService.get(getProfile);
  }

  updateProfile = async (newInfo) => {
    const updateProfile = "me";
    return await HttpService.patch(updateProfile, newInfo);
  }

What's included

Within the download you'll find the following directories and files:

./src
β”œβ”€β”€ App.js
β”œβ”€β”€ assets
β”‚   β”œβ”€β”€ images
β”‚   β”‚   β”œβ”€β”€ apple-icon.png
β”‚   β”‚   β”œβ”€β”€ bg-profile.jpeg
β”‚   β”‚   β”œβ”€β”€ bg-reset-cover.jpeg
β”‚   β”‚   β”œβ”€β”€ bg-sign-in-basic.jpeg
β”‚   β”‚   β”œβ”€β”€ bg-sign-up-cover.jpeg
β”‚   β”‚   β”œβ”€β”€ bruce-mars.jpg
β”‚   β”‚   β”œβ”€β”€ favicon.png
β”‚   β”‚   β”œβ”€β”€ home-decor-1.jpg
β”‚   β”‚   β”œβ”€β”€ home-decor-2.jpg
β”‚   β”‚   β”œβ”€β”€ home-decor-3.jpg
β”‚   β”‚   β”œβ”€β”€ home-decor-4.jpeg
β”‚   β”‚   β”œβ”€β”€ icons
β”‚   β”‚   β”‚   └── flags
β”‚   β”‚   β”‚       β”œβ”€β”€ AU.png
β”‚   β”‚   β”‚       β”œβ”€β”€ BR.png
β”‚   β”‚   β”‚       β”œβ”€β”€ DE.png
β”‚   β”‚   β”‚       β”œβ”€β”€ GB.png
β”‚   β”‚   β”‚       └── US.png
β”‚   β”‚   β”œβ”€β”€ illustrations
β”‚   β”‚   β”‚   └── pattern-tree.svg
β”‚   β”‚   β”œβ”€β”€ ivana-square.jpg
β”‚   β”‚   β”œβ”€β”€ kal-visuals-square.jpg
β”‚   β”‚   β”œβ”€β”€ logo-ct-dark.png
β”‚   β”‚   β”œβ”€β”€ logo-ct.png
β”‚   β”‚   β”œβ”€β”€ logos
β”‚   β”‚   β”‚   β”œβ”€β”€ gray-logos
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ logo-coinbase.svg
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ logo-nasa.svg
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ logo-netflix.svg
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ logo-pinterest.svg
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ logo-spotify.svg
β”‚   β”‚   β”‚   β”‚   └── logo-vodafone.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ mastercard.png
β”‚   β”‚   β”‚   └── visa.png
β”‚   β”‚   β”œβ”€β”€ marie.jpg
β”‚   β”‚   β”œβ”€β”€ small-logos
β”‚   β”‚   β”‚   β”œβ”€β”€ bootstrap.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ creative-tim.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ devto.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ github.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ google-webdev.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ icon-bulb.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ logo-asana.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ logo-atlassian.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ logo-invision.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ logo-jira.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ logo-slack.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ logo-spotify.svg
β”‚   β”‚   β”‚   └── logo-xd.svg
β”‚   β”‚   β”œβ”€β”€ team-1.jpg
β”‚   β”‚   β”œβ”€β”€ team-2.jpg
β”‚   β”‚   β”œβ”€β”€ team-3.jpg
β”‚   β”‚   β”œβ”€β”€ team-4.jpg
β”‚   β”‚   └── team-5.jpg
β”‚   β”œβ”€β”€ theme
β”‚   β”‚   β”œβ”€β”€ base
β”‚   β”‚   β”‚   β”œβ”€β”€ borders.js
β”‚   β”‚   β”‚   β”œβ”€β”€ boxShadows.js
β”‚   β”‚   β”‚   β”œβ”€β”€ breakpoints.js
β”‚   β”‚   β”‚   β”œβ”€β”€ colors.js
β”‚   β”‚   β”‚   β”œβ”€β”€ globals.js
β”‚   β”‚   β”‚   └── typography.js
β”‚   β”‚   β”œβ”€β”€ components
β”‚   β”‚   β”‚   β”œβ”€β”€ appBar.js
β”‚   β”‚   β”‚   β”œβ”€β”€ avatar.js
β”‚   β”‚   β”‚   β”œβ”€β”€ breadcrumbs.js
β”‚   β”‚   β”‚   β”œβ”€β”€ button
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ contained.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ outlined.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ root.js
β”‚   β”‚   β”‚   β”‚   └── text.js
β”‚   β”‚   β”‚   β”œβ”€β”€ buttonBase.js
β”‚   β”‚   β”‚   β”œβ”€β”€ card
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ cardContent.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ cardMedia.js
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   β”œβ”€β”€ container.js
β”‚   β”‚   β”‚   β”œβ”€β”€ dialog
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ dialogActions.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ dialogContent.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ dialogContentText.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ dialogTitle.js
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   β”œβ”€β”€ divider.js
β”‚   β”‚   β”‚   β”œβ”€β”€ flatpickr.js
β”‚   β”‚   β”‚   β”œβ”€β”€ form
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ autocomplete.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ checkbox.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ formControlLabel.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ formLabel.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ input.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ inputLabel.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ inputOutlined.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ radio.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ select.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ switchButton.js
β”‚   β”‚   β”‚   β”‚   └── textField.js
β”‚   β”‚   β”‚   β”œβ”€β”€ iconButton.js
β”‚   β”‚   β”‚   β”œβ”€β”€ icon.js
β”‚   β”‚   β”‚   β”œβ”€β”€ linearProgress.js
β”‚   β”‚   β”‚   β”œβ”€β”€ link.js
β”‚   β”‚   β”‚   β”œβ”€β”€ list
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ listItem.js
β”‚   β”‚   β”‚   β”‚   └── listItemText.js
β”‚   β”‚   β”‚   β”œβ”€β”€ menu
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   β”‚   β”‚   └── menuItem.js
β”‚   β”‚   β”‚   β”œβ”€β”€ popover.js
β”‚   β”‚   β”‚   β”œβ”€β”€ sidenav.js
β”‚   β”‚   β”‚   β”œβ”€β”€ slider.js
β”‚   β”‚   β”‚   β”œβ”€β”€ stepper
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ stepConnector.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ stepIcon.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ step.js
β”‚   β”‚   β”‚   β”‚   └── stepLabel.js
β”‚   β”‚   β”‚   β”œβ”€β”€ svgIcon.js
β”‚   β”‚   β”‚   β”œβ”€β”€ table
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ tableCell.js
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ tableContainer.js
β”‚   β”‚   β”‚   β”‚   └── tableHead.js
β”‚   β”‚   β”‚   β”œβ”€β”€ tabs
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   β”‚   β”‚   └── tab.js
β”‚   β”‚   β”‚   └── tooltip.js
β”‚   β”‚   β”œβ”€β”€ functions
β”‚   β”‚   β”‚   β”œβ”€β”€ boxShadow.js
β”‚   β”‚   β”‚   β”œβ”€β”€ gradientChartLine.js
β”‚   β”‚   β”‚   β”œβ”€β”€ hexToRgb.js
β”‚   β”‚   β”‚   β”œβ”€β”€ linearGradient.js
β”‚   β”‚   β”‚   β”œβ”€β”€ pxToRem.js
β”‚   β”‚   β”‚   └── rgba.js
β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   └── theme-rtl.js
β”‚   └── theme-dark
β”‚       β”œβ”€β”€ base
β”‚       β”‚   β”œβ”€β”€ borders.js
β”‚       β”‚   β”œβ”€β”€ boxShadows.js
β”‚       β”‚   β”œβ”€β”€ breakpoints.js
β”‚       β”‚   β”œβ”€β”€ colors.js
β”‚       β”‚   β”œβ”€β”€ globals.js
β”‚       β”‚   └── typography.js
β”‚       β”œβ”€β”€ components
β”‚       β”‚   β”œβ”€β”€ appBar.js
β”‚       β”‚   β”œβ”€β”€ avatar.js
β”‚       β”‚   β”œβ”€β”€ breadcrumbs.js
β”‚       β”‚   β”œβ”€β”€ button
β”‚       β”‚   β”‚   β”œβ”€β”€ contained.js
β”‚       β”‚   β”‚   β”œβ”€β”€ index.js
β”‚       β”‚   β”‚   β”œβ”€β”€ outlined.js
β”‚       β”‚   β”‚   β”œβ”€β”€ root.js
β”‚       β”‚   β”‚   └── text.js
β”‚       β”‚   β”œβ”€β”€ buttonBase.js
β”‚       β”‚   β”œβ”€β”€ card
β”‚       β”‚   β”‚   β”œβ”€β”€ cardContent.js
β”‚       β”‚   β”‚   β”œβ”€β”€ cardMedia.js
β”‚       β”‚   β”‚   └── index.js
β”‚       β”‚   β”œβ”€β”€ container.js
β”‚       β”‚   β”œβ”€β”€ dialog
β”‚       β”‚   β”‚   β”œβ”€β”€ dialogActions.js
β”‚       β”‚   β”‚   β”œβ”€β”€ dialogContent.js
β”‚       β”‚   β”‚   β”œβ”€β”€ dialogContentText.js
β”‚       β”‚   β”‚   β”œβ”€β”€ dialogTitle.js
β”‚       β”‚   β”‚   └── index.js
β”‚       β”‚   β”œβ”€β”€ divider.js
β”‚       β”‚   β”œβ”€β”€ form
β”‚       β”‚   β”‚   β”œβ”€β”€ autocomplete.js
β”‚       β”‚   β”‚   β”œβ”€β”€ checkbox.js
β”‚       β”‚   β”‚   β”œβ”€β”€ formControlLabel.js
β”‚       β”‚   β”‚   β”œβ”€β”€ formLabel.js
β”‚       β”‚   β”‚   β”œβ”€β”€ input.js
β”‚       β”‚   β”‚   β”œβ”€β”€ inputLabel.js
β”‚       β”‚   β”‚   β”œβ”€β”€ inputOutlined.js
β”‚       β”‚   β”‚   β”œβ”€β”€ radio.js
β”‚       β”‚   β”‚   β”œβ”€β”€ select.js
β”‚       β”‚   β”‚   β”œβ”€β”€ switchButton.js
β”‚       β”‚   β”‚   └── textField.js
β”‚       β”‚   β”œβ”€β”€ iconButton.js
β”‚       β”‚   β”œβ”€β”€ icon.js
β”‚       β”‚   β”œβ”€β”€ linearProgress.js
β”‚       β”‚   β”œβ”€β”€ link.js
β”‚       β”‚   β”œβ”€β”€ list
β”‚       β”‚   β”‚   β”œβ”€β”€ index.js
β”‚       β”‚   β”‚   β”œβ”€β”€ listItem.js
β”‚       β”‚   β”‚   └── listItemText.js
β”‚       β”‚   β”œβ”€β”€ menu
β”‚       β”‚   β”‚   β”œβ”€β”€ index.js
β”‚       β”‚   β”‚   └── menuItem.js
β”‚       β”‚   β”œβ”€β”€ popover.js
β”‚       β”‚   β”œβ”€β”€ sidenav.js
β”‚       β”‚   β”œβ”€β”€ slider.js
β”‚       β”‚   β”œβ”€β”€ stepper
β”‚       β”‚   β”‚   β”œβ”€β”€ index.js
β”‚       β”‚   β”‚   β”œβ”€β”€ stepConnector.js
β”‚       β”‚   β”‚   β”œβ”€β”€ stepIcon.js
β”‚       β”‚   β”‚   β”œβ”€β”€ step.js
β”‚       β”‚   β”‚   └── stepLabel.js
β”‚       β”‚   β”œβ”€β”€ svgIcon.js
β”‚       β”‚   β”œβ”€β”€ table
β”‚       β”‚   β”‚   β”œβ”€β”€ tableCell.js
β”‚       β”‚   β”‚   β”œβ”€β”€ tableContainer.js
β”‚       β”‚   β”‚   └── tableHead.js
β”‚       β”‚   β”œβ”€β”€ tabs
β”‚       β”‚   β”‚   β”œβ”€β”€ index.js
β”‚       β”‚   β”‚   └── tab.js
β”‚       β”‚   └── tooltip.js
β”‚       β”œβ”€β”€ functions
β”‚       β”‚   β”œβ”€β”€ boxShadow.js
β”‚       β”‚   β”œβ”€β”€ gradientChartLine.js
β”‚       β”‚   β”œβ”€β”€ hexToRgb.js
β”‚       β”‚   β”œβ”€β”€ linearGradient.js
β”‚       β”‚   β”œβ”€β”€ pxToRem.js
β”‚       β”‚   └── rgba.js
β”‚       β”œβ”€β”€ index.js
β”‚       └── theme-rtl.js
β”œβ”€β”€ auth
β”‚   β”œβ”€β”€ forgot-password
β”‚   β”‚   └── index.js
β”‚   β”œβ”€β”€ login
β”‚   β”‚   └── index.js
β”‚   β”œβ”€β”€ register
β”‚   β”‚   └── index.js
β”‚   └── reset-password
β”‚       └── index.js
β”œβ”€β”€ components
β”‚   β”œβ”€β”€ MDAlert
β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   β”œβ”€β”€ MDAlertCloseIcon.js
β”‚   β”‚   └── MDAlertRoot.js
β”‚   β”œβ”€β”€ MDAvatar
β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   └── MDAvatarRoot.js
β”‚   β”œβ”€β”€ MDBadge
β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   └── MDBadgeRoot.js
β”‚   β”œβ”€β”€ MDBox
β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   └── MDBoxRoot.js
β”‚   β”œβ”€β”€ MDButton
β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   └── MDButtonRoot.js
β”‚   β”œβ”€β”€ MDInput
β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   └── MDInputRoot.js
β”‚   β”œβ”€β”€ MDPagination
β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   └── MDPaginationItemRoot.js
β”‚   β”œβ”€β”€ MDProgress
β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   └── MDProgressRoot.js
β”‚   β”œβ”€β”€ MDSnackbar
β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   └── MDSnackbarIconRoot.js
β”‚   └── MDTypography
β”‚       β”œβ”€β”€ index.js
β”‚       └── MDTypographyRoot.js
β”œβ”€β”€ context
β”‚   └── index.js
β”œβ”€β”€ examples
β”‚   β”œβ”€β”€ Breadcrumbs
β”‚   β”‚   └── index.js
β”‚   β”œβ”€β”€ Cards
β”‚   β”‚   β”œβ”€β”€ BlogCards
β”‚   β”‚   β”‚   └── SimpleBlogCard
β”‚   β”‚   β”‚       └── index.js
β”‚   β”‚   β”œβ”€β”€ InfoCards
β”‚   β”‚   β”‚   β”œβ”€β”€ DefaultInfoCard
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   └── ProfileInfoCard
β”‚   β”‚   β”‚       └── index.js
β”‚   β”‚   β”œβ”€β”€ MasterCard
β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”œβ”€β”€ ProjectCards
β”‚   β”‚   β”‚   └── DefaultProjectCard
β”‚   β”‚   β”‚       └── index.js
β”‚   β”‚   └── StatisticsCards
β”‚   β”‚       └── ComplexStatisticsCard
β”‚   β”‚           └── index.js
β”‚   β”œβ”€β”€ Charts
β”‚   β”‚   β”œβ”€β”€ BarCharts
β”‚   β”‚   β”‚   β”œβ”€β”€ HorizontalBarChart
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ configs
β”‚   β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   β”œβ”€β”€ ReportsBarChart
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ configs
β”‚   β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   └── VerticalBarChart
β”‚   β”‚   β”‚       β”œβ”€β”€ configs
β”‚   β”‚   β”‚       β”‚   └── index.js
β”‚   β”‚   β”‚       └── index.js
β”‚   β”‚   β”œβ”€β”€ BubbleChart
β”‚   β”‚   β”‚   β”œβ”€β”€ configs
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”œβ”€β”€ DoughnutCharts
β”‚   β”‚   β”‚   └── DefaultDoughnutChart
β”‚   β”‚   β”‚       β”œβ”€β”€ configs
β”‚   β”‚   β”‚       β”‚   └── index.js
β”‚   β”‚   β”‚       └── index.js
β”‚   β”‚   β”œβ”€β”€ LineCharts
β”‚   β”‚   β”‚   β”œβ”€β”€ DefaultLineChart
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ configs
β”‚   β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   β”œβ”€β”€ GradientLineChart
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ configs
β”‚   β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   β”œβ”€β”€ ProgressLineChart
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ config
β”‚   β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   └── ReportsLineChart
β”‚   β”‚   β”‚       β”œβ”€β”€ configs
β”‚   β”‚   β”‚       β”‚   └── index.js
β”‚   β”‚   β”‚       └── index.js
β”‚   β”‚   β”œβ”€β”€ MixedChart
β”‚   β”‚   β”‚   β”œβ”€β”€ configs
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”œβ”€β”€ PieChart
β”‚   β”‚   β”‚   β”œβ”€β”€ configs
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”œβ”€β”€ PolarChart
β”‚   β”‚   β”‚   β”œβ”€β”€ configs
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   └── RadarChart
β”‚   β”‚       β”œβ”€β”€ configs
β”‚   β”‚       β”‚   └── index.js
β”‚   β”‚       └── index.js
β”‚   β”œβ”€β”€ Configurator
β”‚   β”‚   β”œβ”€β”€ ConfiguratorRoot.js
β”‚   β”‚   └── index.js
β”‚   β”œβ”€β”€ Footer
β”‚   β”‚   └── index.js
β”‚   β”œβ”€β”€ Items
β”‚   β”‚   └── NotificationItem
β”‚   β”‚       β”œβ”€β”€ index.js
β”‚   β”‚       └── styles.js
β”‚   β”œβ”€β”€ LayoutContainers
β”‚   β”‚   β”œβ”€β”€ DashboardLayout
β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   └── PageLayout
β”‚   β”‚       └── index.js
β”‚   β”œβ”€β”€ Lists
β”‚   β”‚   └── ProfilesList
β”‚   β”‚       └── index.js
β”‚   β”œβ”€β”€ Navbars
β”‚   β”‚   β”œβ”€β”€ DashboardNavbar
β”‚   β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   β”‚   └── styles.js
β”‚   β”‚   └── DefaultNavbar
β”‚   β”‚       β”œβ”€β”€ DefaultNavbarLink.js
β”‚   β”‚       β”œβ”€β”€ DefaultNavbarMobile.js
β”‚   β”‚       └── index.js
β”‚   β”œβ”€β”€ ProtectedRoute
β”‚   β”‚   └── index.js
β”‚   β”œβ”€β”€ Sidenav
β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   β”œβ”€β”€ SidenavCollapse.js
β”‚   β”‚   β”œβ”€β”€ SidenavRoot.js
β”‚   β”‚   └── styles
β”‚   β”‚       β”œβ”€β”€ sidenavCollapse.js
β”‚   β”‚       └── sidenav.js
β”‚   β”œβ”€β”€ Tables
β”‚   β”‚   └── DataTable
β”‚   β”‚       β”œβ”€β”€ DataTableBodyCell.js
β”‚   β”‚       β”œβ”€β”€ DataTableHeadCell.js
β”‚   β”‚       └── index.js
β”‚   └── Timeline
β”‚       β”œβ”€β”€ context
β”‚       β”‚   └── index.js
β”‚       β”œβ”€β”€ TimelineItem
β”‚       β”‚   β”œβ”€β”€ index.js
β”‚       β”‚   └── styles.js
β”‚       └── TimelineList
β”‚           └── index.js
β”œβ”€β”€ index.js
β”œβ”€β”€ layouts
β”‚   β”œβ”€β”€ authentication
β”‚   β”‚   β”œβ”€β”€ components
β”‚   β”‚   β”‚   β”œβ”€β”€ BasicLayout
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   β”œβ”€β”€ CoverLayout
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   └── Footer
β”‚   β”‚   β”‚       └── index.js
β”‚   β”‚   β”œβ”€β”€ reset-password
β”‚   β”‚   β”‚   └── cover
β”‚   β”‚   β”‚       └── index.js
β”‚   β”‚   β”œβ”€β”€ sign-in
β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   └── sign-up
β”‚   β”‚       └── index.js
β”‚   β”œβ”€β”€ billing
β”‚   β”‚   β”œβ”€β”€ components
β”‚   β”‚   β”‚   β”œβ”€β”€ Bill
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   β”œβ”€β”€ BillingInformation
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   β”œβ”€β”€ Invoice
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   β”œβ”€β”€ Invoices
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   β”œβ”€β”€ PaymentMethod
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   β”œβ”€β”€ Transaction
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   └── Transactions
β”‚   β”‚   β”‚       └── index.js
β”‚   β”‚   └── index.js
β”‚   β”œβ”€β”€ dashboard
β”‚   β”‚   β”œβ”€β”€ components
β”‚   β”‚   β”‚   β”œβ”€β”€ OrdersOverview
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   └── Projects
β”‚   β”‚   β”‚       β”œβ”€β”€ data
β”‚   β”‚   β”‚       β”‚   └── index.js
β”‚   β”‚   β”‚       └── index.js
β”‚   β”‚   β”œβ”€β”€ data
β”‚   β”‚   β”‚   β”œβ”€β”€ reportsBarChartData.js
β”‚   β”‚   β”‚   └── reportsLineChartData.js
β”‚   β”‚   └── index.js
β”‚   β”œβ”€β”€ notifications
β”‚   β”‚   └── index.js
β”‚   β”œβ”€β”€ profile
β”‚   β”‚   β”œβ”€β”€ components
β”‚   β”‚   β”‚   β”œβ”€β”€ Header
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   └── PlatformSettings
β”‚   β”‚   β”‚       └── index.js
β”‚   β”‚   β”œβ”€β”€ data
β”‚   β”‚   β”‚   └── profilesListData.js
β”‚   β”‚   └── index.js
β”‚   β”œβ”€β”€ rtl
β”‚   β”‚   β”œβ”€β”€ components
β”‚   β”‚   β”‚   β”œβ”€β”€ OrdersOverview
β”‚   β”‚   β”‚   β”‚   └── index.js
β”‚   β”‚   β”‚   └── Projects
β”‚   β”‚   β”‚       β”œβ”€β”€ data
β”‚   β”‚   β”‚       β”‚   └── index.js
β”‚   β”‚   β”‚       └── index.js
β”‚   β”‚   β”œβ”€β”€ data
β”‚   β”‚   β”‚   β”œβ”€β”€ reportsBarChartData.js
β”‚   β”‚   β”‚   └── reportsLineChartData.js
β”‚   β”‚   └── index.js
β”‚   β”œβ”€β”€ tables
β”‚   β”‚   β”œβ”€β”€ data
β”‚   β”‚   β”‚   β”œβ”€β”€ authorsTableData.js
β”‚   β”‚   β”‚   └── projectsTableData.js
β”‚   β”‚   └── index.js
β”‚   β”œβ”€β”€ user-management
β”‚   β”‚   β”œβ”€β”€ data.js
β”‚   β”‚   └── index.js
β”‚   └── user-profile
β”‚       β”œβ”€β”€ Header
β”‚       β”‚   └── index.js
β”‚       β”œβ”€β”€ index.js
β”‚       └── PlatformSettings
β”‚           └── index.js
β”œβ”€β”€ routes.js
└── services
    β”œβ”€β”€ auth-service.js
    β”œβ”€β”€ htttp.service.js
    └── interceptor.js

Browser Support

At present, we officially aim to support the last two versions of the following browsers:

Resources

Reporting Issues

We use GitHub Issues as the official bug tracker for the Material Dashboard React. Here are some advices for our users that want to report an issue:

  1. Make sure that you are using the latest version of the Material Dashboard React. Check the CHANGELOG from your dashboard on our website.
  2. Providing us reproducible steps for the issue will shorten the time it takes for it to be fixed.
  3. Some issues may be browser specific, so specifying in what browser you encountered the issue might help.

Technical Support or Questions

If you have questions or need help integrating the product please contact us instead of opening an issue.

Licensing

Useful Links

Social Media

Creative Tim:

Twitter: https://twitter.com/CreativeTim?ref=mdl-readme

Facebook: https://www.facebook.com/CreativeTim?ref=mdl-readme

Dribbble: https://dribbble.com/creativetim?ref=mdl-readme

Instagram: https://www.instagram.com/CreativeTimOfficial?ref=mdl-readme

Updivision:

Twitter: https://twitter.com/updivision?ref=mdl-readme

Facebook: https://www.facebook.com/updivision?ref=mdl-readme

Linkedin: https://www.linkedin.com/company/updivision?ref=mdl-readme

Updivision Blog: https://updivision.com/blog/?ref=mdl-readme

Credits

More Repositories

1

material-dashboard

Material Dashboard - Open Source Bootstrap 5 Material Design Admin
SCSS
10,974
star
2

material-kit

Free and Open Source UI Kit for Bootstrap 5, React, Vue.js, React Native and Sketch based on Google's Material Design
HTML
5,899
star
3

tailwind-starter-kit

Tailwind Starter Kit a beautiful extension for TailwindCSS, Free and Open Source
CSS
5,760
star
4

material-tailwind

@material-tailwind is an easy-to-use components library for Tailwind CSS and Material Design.
TypeScript
3,710
star
5

material-dashboard-react

React version of Material Dashboard by Creative Tim
JavaScript
2,720
star
6

argon-design-system

Argon - Design System for Bootstrap 4 by Creative Tim
CSS
2,442
star
7

vue-paper-dashboard

Creative Tim Paper Dashboard made for Vue
Vue
1,791
star
8

now-ui-kit

Now UI Kit Bootstrap 4 - Designed by Invision. Coded by Creative Tim
CSS
1,704
star
9

light-bootstrap-dashboard

Light Bootstrap Dashboard is an admin dashboard template designed to be beautiful and simple.
CSS
1,353
star
10

vuetify-material-dashboard

Vuetify Material Dashboard - Open Source Material Design Admin by Creative Tim
Vue
1,284
star
11

notus-nextjs

Notus NextJS: Free Tailwind CSS UI Kit and Admin
JavaScript
1,281
star
12

material-kit-react

Material Kit React free and open source by Creative Tim
JavaScript
1,158
star
13

material-dashboard-angular2

Material Dashboard Angular
SCSS
958
star
14

vue-argon-design-system

Vue Argon Design System
Vue
829
star
15

notus-svelte

Notus Svelte: Free Tailwind CSS UI Kit and Admin
Svelte
812
star
16

notus-react

Notus React: Free Tailwind CSS UI Kit and Admin
JavaScript
783
star
17

vue-light-bootstrap-dashboard

Vue Light Bootstrap Dashboard - FREE BOOTSTRAP 4 VUEJS ADMIN TEMPLATE
SCSS
768
star
18

light-bootstrap-dashboard-react

React version of Light Bootstrap Dashboard
SCSS
716
star
19

argon-design-system-react

React version of Argon Design System
CSS
649
star
20

argon-dashboard

Argon - Dashboard for Bootstrap 5 by Creative Tim
SCSS
605
star
21

argon-react-native

Argon React Native
JavaScript
593
star
22

material-kit-react-native

Material Kit React Native
JavaScript
546
star
23

vue-material-dashboard

Vue Material Dashboard - Open Source Material Design Admin
SCSS
541
star
24

vue-notus

Vue Notus: Free Tailwind CSS UI Kit and Admin
Vue
527
star
25

soft-ui-dashboard

Soft UI Dashboard - Free and OpenSource Bootstrap 5 Dashboard
SCSS
521
star
26

vue-black-dashboard

Vue Black Dashboard
Vue
506
star
27

purity-ui-dashboard

Purity UI Dashboard - Free and Open Source Chakra UI Dashboard
JavaScript
492
star
28

argon-dashboard-react

React version of Argon Dashboard
CSS
429
star
29

black-dashboard-react

CSS
425
star
30

vue-argon-dashboard

Vue Argon Dashboard
SCSS
372
star
31

paper-dashboard

Paper Dashboard is a Bootstrap Admin Panel which combines soft colors with beautiful typography and spacious cards and graphics.
CSS
359
star
32

black-dashboard

CSS
343
star
33

vue-material-kit

Vue Material Kit - Open Source Material Design UI Kit
CSS
327
star
34

astro-ecommerce

Astro Ecommerce - Ready to use components
SCSS
324
star
35

material-tailwind-dashboard-react

Free and Open Source Admin for Tailwind CSS and React based on Google's Material Design.
JavaScript
324
star
36

light-bootstrap-dashboard-angular2

Light Bootstrap Dashboard Angular 2
HTML
323
star
37

nextjs-material-kit

NextJS version of Material Kit React by Creative Tim
JavaScript
318
star
38

soft-ui-dashboard-tailwind

Soft UI Dashboard Tailwind - Free and OpenSource TailwindCSS Dashboard
HTML
303
star
39

muse-vue-ant-design-dashboard

Muse Vue Ant Design Dashboard - Free and OpenSource Ant Design Vue Dashboard
Vue
281
star
40

soft-ui-dashboard-react

Soft UI Dashboard React - Free Dashboard using React and Material UI
JavaScript
266
star
41

bootstrap4-cheatsheet

Bootstrap 4 Cheat Sheet
HTML
260
star
42

argon-design-system-angular

SCSS
245
star
43

nextjs-material-dashboard

NextJS version of Material Dashboard React
JavaScript
241
star
44

blk-design-system

CSS
231
star
45

notus-angular

Notus Angular: Free Tailwind CSS UI Kit and Admin
HTML
230
star
46

notus-js

Notus JS: Free Tailwind CSS UI Kit and Admin
HTML
225
star
47

paper-kit-2

Paper Kit is a Fully Coded Web UI Kit based on Bootstrap.
SCSS
200
star
48

argon-dashboard-asp-net

Start your development with a Bootstrap 4 Admin Dashboard built for ASP.NET Core framework, the newest go-to technology from Microsoft for top companies.
CSS
200
star
49

now-ui-react-native

Now UI Pro React Native
JavaScript
196
star
50

soft-ui-design-system

Soft UI Design System - Open Source Bootstrap 5 design system
HTML
194
star
51

paper-dashboard-react

CSS
192
star
52

blk-design-system-react

React version of BLK Design System:
CSS
191
star
53

now-ui-dashboard

Now UI Dashboard - Open Source Admin Template
SCSS
186
star
54

argon-dashboard-django

Argon Dashboard - Django Template | Creative-Tim
CSS
176
star
55

argon-dashboard-angular

HTML
164
star
56

vision-ui-dashboard-chakra

JavaScript
162
star
57

soft-ui-react-native

Start your development with a Design System for React-Native inspired by Soft UI Design System.
TypeScript
160
star
58

paper-kit-2-angular

Free Bootstrap 4 UI Kit for Angular 2+
SCSS
153
star
59

paper-dashboard-angular

Angular version of the original Paper Dashboard.
SCSS
152
star
60

bits

Bits by Creative Tim - Code Snippets for easier coding
146
star
61

now-ui-kit-react

React version of Now UI Kit by Creative Tim
CSS
145
star
62

argon-dashboard-nodejs

CSS
143
star
63

paper-kit-react

React version of Paper Kit 2 by Creative Tim
SCSS
135
star
64

muse-ant-design-dashboard

Muse Ant Design Dashboard - Free Dashboard using React and Ant Design
JavaScript
134
star
65

now-ui-dashboard-react

React version of Now UI Dashboard
CSS
134
star
66

vue-now-ui-kit

Vue Now UI Kit
SCSS
132
star
67

nextjs-argon-dashboard

NextJS version of Argon Dashboard React
CSS
129
star
68

ct-material-kit-pro

Premium Bootstrap 4 UI Kit based on Google's Material Design
128
star
69

ct-material-dashboard-pro-react

React version of Material Dashboard Pro
126
star
70

black-dashboard-django

Black Dashboard - Open-source Django Template | Creative-Tim
CSS
119
star
71

impact-design-system

Kick-Start Your Development With An Awesome Design System carefully designed for your online business showcase. Joint project by Creative Tim and Themesberg.
HTML
119
star
72

soft-ui-dashboard-laravel

Soft UI Dashboard Laravel 11.x - Free full stack dashboard app
Blade
116
star
73

ct-material-dashboard-pro

Material Dashboard Pro - Premium Bootstrap 5 Admin
115
star
74

soft-ui-dashboard-laravel-livewire

Soft UI Dashboard Laravel - Free full stack app with Laravel, Livewire & Alpine.js
Blade
111
star
75

vision-ui-dashboard-react

JavaScript
107
star
76

get-shit-done

A free UI Kit built on Twitter Bootstrap
HTML
105
star
77

bootstrap-vue-argon-dashboard

Vue
100
star
78

vue-soft-ui-dashboard

Vue Soft UI Dashboard - Free and OpenSource VueJS 3 & Bootstrap 5 Dashboard
SCSS
98
star
79

black-dashboard-angular

SCSS
97
star
80

material-dashboard-django

Material Dashboard - Django Template | Creative-Tim
CSS
90
star
81

soft-ui-dashboard-django

Soft UI Dashboard - Django Template | Creative-Tim
Python
88
star
82

material-tailwind-kit-react

Free and Open Source UI Kit for Tailwind CSS and React based on Google's Material Design.
JavaScript
88
star
83

argon-dashboard-tailwind

Argon Dashboard Tailwind - Free and OpenSource TailwindCSS Dashboard
HTML
87
star
84

material-bootstrap-wizard

Material Bootstrap Wizard - Bootstrap wizard based on Material Design
SCSS
80
star
85

argon-dashboard-flask

Argon Dashboard - Flask Template | Creative-Tim
CSS
74
star
86

argon-flutter

Dart
72
star
87

material-dashboard-flask

Material Dashboard - Flask Template | Creative-Tim
SCSS
71
star
88

awesome-landing-page

CSS
71
star
89

now-ui-dashboard-angular

SCSS
70
star
90

ct-material-dashboard-pro-angular

68
star
91

ct-material-kit-pro-react-native

Material Kit PRO React Native is a fully coded app template built over Galio.io, React Native and Expo
67
star
92

ct-vue-material-dashboard-pro

Vue Material Dashboard Pro - Material Design Admin
64
star
93

now-ui-flutter

Dart
64
star
94

blk-design-system-angular

SCSS
62
star
95

argon-dashboard-chakra

JavaScript
62
star
96

astro-launch-ui

AstroLaunch UI - Ready to use components
TypeScript
61
star
97

vue-material-dashboard-laravel-bs4

Vue SPA Material template connected to working Laravel REST API with the help of json:api standard
SCSS
58
star
98

argon-dashboard-material-ui

This is the Material UI version of the Argon Dashboard React.
JavaScript
58
star
99

now-ui-kit-angular

SCSS
54
star
100

coming-sssoon-page

HTML
52
star