documentation/versioned_docs/version-3.xx.xx/tutorial/1-getting-started/mui/2-create-project.md
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';
The easiest way to create a new project is to use the refine CLI. This tool will help you get started quickly by generating a new project with a basic configuration and a folder structure that follows best practices.
Confirm y to installation of create-refine-app
The -o refine-mui flag in the command above tells the CLI to install the project with the refine-mui preset. This preset selects some options for you in accordance with this tutorial.
We use a preset here to sync the tutorial content with the code. Outside of the tutorial, you can skip this flag and select your own options.
The CLI will ask if you agree to share your selection anonymously with the refine team. You can choose whatever you prefer.
Once the installation wizard is finished, you can close this terminal window and open VS Code to continue your journey.
Open Visual Studio Code and select the directory that was generated during your setup process.
Make sure the terminal is open and ready to run commands. You can open it by pressing Ctrl + J(Windows) or Cmd ⌘ + J(macOS).
For the rest of this tutorial, you can use the terminal within VS Code instead of your computer's terminal.
To preview your project as a web page while you work on it, the project must be running in development (dev) mode.
<h4>Start the dev server</h4>To start the dev server, run the following command in your terminal:
<Tabs defaultValue="npm" values={[ {label: 'npm', value: 'npm'}, {label: 'pnpm', value: 'pnpm'}, {label: 'yarn', value: 'yarn'} ]}>
<TabItem value="npm">npm run dev
pnpm run dev
yarn run dev
You should see confirmation in the terminal that the refine app is running in dev mode.
Your project files contain all the code you need to run your website. To see a preview of your website in the browser:
Click on the <a href="http://localhost:3000" rel="noopener noreferrer nofollow">localhost:3000</a> link in the terminal. This will open a new browser tab with your app running in dev mode.
You will be redirected to the welcome page as we have not added any pages yet.
(Next section will guide you through adding pages to your app.)
Here's what you should see:
setInitialRoutes(["/"]);
import { Refine } from "@pankod/refine-core";
import {
Layout,
ReadyPage,
ErrorComponent,
LightTheme,
CssBaseline,
GlobalStyles,
ThemeProvider,
RefineSnackbarProvider,
useNotificationProvider,
} from "@pankod/refine-mui";
import routerProvider from "@pankod/refine-react-router-v6";
import dataProvider from "@pankod/refine-simple-rest";
const App: React.FC = () => {
return (
<ThemeProvider theme={LightTheme}>
<CssBaseline />
<GlobalStyles styles={{ html: { WebkitFontSmoothing: "auto" } }} />
<RefineSnackbarProvider>
<Refine
routerProvider={routerProvider}
dataProvider={dataProvider("https://api.fake-rest.refine.dev")}
notificationProvider={useNotificationProvider}
Layout={Layout}
ReadyPage={ReadyPage}
catchAll={<ErrorComponent />}
/>
</RefineSnackbarProvider>
</ThemeProvider>
);
};
render(<App />);