Convert Figma logo to code with AI

creativetimofficial logomaterial-dashboard-react

React version of Material Dashboard by Creative Tim

2,835
4,212
2,835
22

Top Related Projects

Material UI: Comprehensive React component library that implements Google's Material Design. Free forever.

An enterprise-class UI design language and React UI library

Bootstrap components built with React

A utility-first CSS framework for rapid UI development.

37,442

⚡️ Simple, Modular & Accessible UI Components for your React Applications

20,694

A React-based UI toolkit for the web

Quick Overview

Material Dashboard React is a free Material-UI admin dashboard template developed by Creative Tim. It combines the functionality of a dashboard with the aesthetics of Material Design, providing a modern and responsive interface for building admin panels, project management systems, or any web application that requires data visualization and management.

Pros

  • Beautiful and modern Material Design interface
  • Responsive layout that works well on various screen sizes
  • Built with React and Material-UI, offering a robust and customizable foundation
  • Includes pre-built components and pages for common dashboard features

Cons

  • Limited free version with restricted features and components
  • Steeper learning curve for developers not familiar with React or Material-UI
  • May require additional customization for specific use cases
  • Documentation could be more comprehensive for advanced usage

Code Examples

  1. Creating a custom card component:
import React from "react";
import { Card, CardContent, Typography } from "@material-ui/core";

function CustomCard({ title, content }) {
  return (
    <Card>
      <CardContent>
        <Typography variant="h5" component="h2">
          {title}
        </Typography>
        <Typography color="textSecondary">{content}</Typography>
      </CardContent>
    </Card>
  );
}

export default CustomCard;
  1. Implementing a simple dashboard layout:
import React from "react";
import { Grid } from "@material-ui/core";
import CustomCard from "./CustomCard";

function Dashboard() {
  return (
    <Grid container spacing={3}>
      <Grid item xs={12} sm={6} md={4}>
        <CustomCard title="Users" content="1,000" />
      </Grid>
      <Grid item xs={12} sm={6} md={4}>
        <CustomCard title="Revenue" content="$50,000" />
      </Grid>
      <Grid item xs={12} sm={6} md={4}>
        <CustomCard title="Orders" content="500" />
      </Grid>
    </Grid>
  );
}

export default Dashboard;
  1. Using the provided Table component:
import React from "react";
import { Table, TableHead, TableBody, TableRow, TableCell } from "components/Table/Table";

function CustomTable({ tableHead, tableData }) {
  return (
    <Table
      tableHeaderColor="primary"
      tableHead={tableHead}
      tableData={tableData}
    />
  );
}

export default CustomTable;

Getting Started

  1. Clone the repository:

    git clone https://github.com/creativetimofficial/material-dashboard-react.git
    
  2. Install dependencies:

    cd material-dashboard-react
    npm install
    
  3. Start the development server:

    npm start
    
  4. Open your browser and navigate to http://localhost:3000 to view the dashboard.

Competitor Comparisons

Material UI: Comprehensive React component library that implements Google's Material Design. Free forever.

Pros of Material-UI

  • More comprehensive component library with a wider range of UI elements
  • Larger community and ecosystem, resulting in better support and resources
  • More frequent updates and active development

Cons of Material-UI

  • Steeper learning curve due to its extensive API and customization options
  • Larger bundle size, which may impact initial load times for applications

Code Comparison

Material-UI:

import { Button, TextField } from '@mui/material';

<Button variant="contained" color="primary">
  Submit
</Button>
<TextField label="Username" variant="outlined" />

Material Dashboard React:

import { Button, CustomInput } from "components";

<Button color="primary">Submit</Button>
<CustomInput
  labelText="Username"
  formControlProps={{ fullWidth: true }}
/>

Material-UI offers more built-in components and styling options, while Material Dashboard React provides a more opinionated and pre-styled approach. The Material-UI code is generally more concise and uses native Material-UI components, whereas Material Dashboard React often relies on custom components built on top of Material-UI.

An enterprise-class UI design language and React UI library

Pros of Ant Design

  • Extensive component library with a wide range of UI elements
  • Strong community support and frequent updates
  • Comprehensive documentation and design resources

Cons of Ant Design

  • Steeper learning curve due to its extensive feature set
  • Less focused on dashboard-specific components
  • May require more customization for specialized dashboard layouts

Code Comparison

Material Dashboard React:

import { Card, CardContent, Typography } from "@material-ui/core";

<Card>
  <CardContent>
    <Typography variant="h5">Dashboard Card</Typography>
  </CardContent>
</Card>

Ant Design:

import { Card, Typography } from "antd";

<Card>
  <Typography.Title level={5}>Dashboard Card</Typography.Title>
</Card>

Summary

Ant Design offers a more comprehensive UI library with extensive customization options, making it suitable for various project types. Material Dashboard React provides a more focused dashboard solution with pre-designed components tailored for admin interfaces. While Ant Design may require more setup for dashboard-specific layouts, it offers greater flexibility for diverse application needs. Material Dashboard React provides a quicker start for dashboard projects but may have limitations for more complex UI requirements beyond typical admin interfaces.

Bootstrap components built with React

Pros of react-bootstrap

  • More comprehensive and flexible component library
  • Larger community and more frequent updates
  • Better documentation and examples

Cons of react-bootstrap

  • Less visually polished out-of-the-box
  • Requires more customization for a modern, Material Design-like appearance
  • No pre-built dashboard layouts or templates

Code Comparison

material-dashboard-react:

import { Card, CardHeader, CardBody, CardFooter } from "material-dashboard-react";

<Card>
  <CardHeader color="primary">
    <h4 className="card-title">Card Title</h4>
  </CardHeader>
  <CardBody>
    <p>Card content</p>
  </CardBody>
</Card>

react-bootstrap:

import { Card } from "react-bootstrap";

<Card>
  <Card.Header as="h5">Card Title</Card.Header>
  <Card.Body>
    <Card.Text>Card content</Card.Text>
  </Card.Body>
</Card>

Both libraries offer similar component structures, but material-dashboard-react provides more specific styling options (e.g., color="primary") and pre-styled components for dashboard creation. react-bootstrap offers a more generic approach, requiring additional customization to achieve a similar look.

A utility-first CSS framework for rapid UI development.

Pros of Tailwind CSS

  • Highly customizable and flexible, allowing for rapid UI development
  • Smaller file sizes due to its utility-first approach
  • Extensive documentation and active community support

Cons of Tailwind CSS

  • Steeper learning curve for developers new to utility-first CSS
  • Can lead to longer class names and potentially cluttered HTML
  • Requires additional setup and configuration compared to pre-built components

Code Comparison

Material Dashboard React:

<Card>
  <CardHeader color="primary">
    <h4 className={classes.cardTitleWhite}>Employee Stats</h4>
    <p className={classes.cardCategoryWhite}>New employees on 15th September, 2016</p>
  </CardHeader>
  <CardBody>
    {/* Card content */}
  </CardBody>
</Card>

Tailwind CSS:

<div class="bg-white shadow-md rounded-lg overflow-hidden">
  <div class="bg-blue-600 text-white p-4">
    <h4 class="text-lg font-semibold">Employee Stats</h4>
    <p class="text-sm">New employees on 15th September, 2016</p>
  </div>
  <div class="p-4">
    <!-- Card content -->
  </div>
</div>
37,442

⚡️ Simple, Modular & Accessible UI Components for your React Applications

Pros of Chakra UI

  • More flexible and customizable component library
  • Better accessibility support out of the box
  • Larger community and more frequent updates

Cons of Chakra UI

  • Steeper learning curve for beginners
  • Less opinionated design, requiring more effort to create a cohesive look

Code Comparison

Chakra UI:

import { Box, Button, Text } from "@chakra-ui/react"

function Example() {
  return (
    <Box>
      <Text>Hello World</Text>
      <Button colorScheme="blue">Click me</Button>
    </Box>
  )
}

Material Dashboard React:

import { Card, CardContent, Typography, Button } from "@material-ui/core"

function Example() {
  return (
    <Card>
      <CardContent>
        <Typography>Hello World</Typography>
        <Button color="primary">Click me</Button>
      </CardContent>
    </Card>
  )
}

Both libraries offer component-based structures, but Chakra UI's approach is more modular and allows for easier customization. Material Dashboard React provides a more complete dashboard solution out of the box, while Chakra UI offers greater flexibility for building custom designs.

20,694

A React-based UI toolkit for the web

Pros of Blueprint

  • More comprehensive UI component library with a wider range of components
  • Better documentation and extensive API references
  • Active development and frequent updates

Cons of Blueprint

  • Steeper learning curve due to its complexity
  • Less focus on pre-built dashboard layouts
  • Requires more custom styling for a cohesive look

Code Comparison

Material Dashboard React:

import { Card, CardContent, Typography } from "@material-ui/core";

function SimpleCard() {
  return (
    <Card>
      <CardContent>
        <Typography variant="h5" component="h2">
          Simple Card
        </Typography>
      </CardContent>
    </Card>
  );
}

Blueprint:

import { Card, H5 } from "@blueprintjs/core";

function SimpleCard() {
  return (
    <Card>
      <H5>Simple Card</H5>
    </Card>
  );
}

Blueprint offers a more streamlined API for basic components, while Material Dashboard React provides more granular control over component structure.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Material Dashboard 2 React Tweet

version GitHub issues open GitHub issues closed

Image

Material Dashboard 2 React is our newest free MUI Admin Template based on React. If you’re a developer looking to create an admin dashboard that is developer-friendly, rich with features, and highly customisable, here is your match. Our innovative MUI & React dashboard comes with a beautiful design inspired by Google's Material Design and it will help you create stunning websites & web apps to delight your clients.

Fully Coded Elements Material Dashboard 2 React is built with over 70 frontend individual elements, like buttons, inputs, navbars, nav tabs, cards, or alerts, giving you the freedom of choosing and combining. All components can take variations in color, which you can easily modify using MUI styled() API and sx prop. You will save a lot of time going from prototyping to full-functional code because all elements are implemented.

This free MUI & React Dashboard is coming with prebuilt design blocks, so the development process is seamless, switching from our pages to the real website is very easy to be done.

Special thanks go to:

  • Nepcha Analytics for the analytics tool. Nepcha is already integrated with Material Dashboard React. You can use it to gain insights into your sources of traffic.

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!

Table of Contents

Versions

React

| Material Dashboard React

Demo

View More.

Quick start

Quick start options:

Terminal Commands

  1. Download and Install NodeJs LTS version from NodeJs Official Page.
  2. Navigate to the root ./ directory of the product and run yarn install or npm install to install our local dependencies.

Deploy

:rocket: You can deploy your own version of the template to Genezio with one click:

Deploy to Genezio

Documentation

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

What's included

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

material-dashboard-react
    ├── public
    │   ├── apple-icon.png
    │   ├── favicon.png
    │   ├── index.html
    │   ├── manifest.json
    │   └── robots.txt
    ├── src
    │   ├── assets
    │   │   ├── images
    │   │   └── theme
    │   │       ├── base
    │   │       ├── components
    │   │       ├── functions
    │   │       ├── index.js
    │   │       └── theme-rtl.js
    │   │   └── theme-dark
    │   │       ├── base
    │   │       ├── components
    │   │       ├── functions
    │   │       ├── index.js
    │   │       └── theme-rtl.js
    │   ├── components
    │   │   ├── MDAlert
    │   │   ├── MDAvatar
    │   │   ├── MDBadge
    │   │   ├── MDBox
    │   │   ├── MDButton
    │   │   ├── MDInput
    │   │   ├── MDPagination
    │   │   ├── MDProgress
    │   │   ├── MDSnackbar
    │   │   └── MDTypography
    │   ├── context
    │   ├── examples
    │   │   ├── Breadcrumbs
    │   │   ├── Cards
    │   │   ├── Charts
    │   │   ├── Configurator
    │   │   ├── Footer
    │   │   ├── Items
    │   │   ├── LayoutContainers
    │   │   ├── Lists
    │   │   ├── Navbars
    │   │   ├── Sidenav
    │   │   ├── Tables
    │   │   └── Timeline
    │   ├── layouts
    │   │   ├── authentication
    │   │   ├── billing
    │   │   ├── dashboard
    │   │   ├── notifications
    │   │   ├── profile
    │   │   ├── rtl
    │   │   └── tables
    │   ├── App.js
    │   ├── index.js
    │   └── routes.js
    ├── .eslintrc.json
    ├── .prettierrc.json
    ├── CHANGELOG.md
    ├── ISSUE_TEMPLATE.md
    ├── jsconfig.json
    ├── LICENSE.md
    ├── package.json
    └── README.md

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

Twitter: https://twitter.com/CreativeTim

Facebook: https://www.facebook.com/CreativeTim

Dribbble: https://dribbble.com/creativetim

Google+: https://plus.google.com/+CreativetimPage

Instagram: https://instagram.com/creativetimofficial

NPM DownloadsLast 30 Days