Desarrollar un dashboard interactivo y visualmente intuitivo utilizando tecnologías web modernas, como React, que permita a los usuarios monitorear en tiempo real métricas clave del clima.
npm --v
Desde la línea de comandos,
cd dashboard
npm create vite@latest .
create-vite
: Need to install the following packages:
create-vite@5.5.5
Ok to proceed? (y) y
Current directory is not empty.
Please choose how to proceed: » Ignore files and continue
√ Select a framework: » React
√ Select a variant: » Typescript
Instale las dependencias
npm install
Inicie el servidor.
npm run dev
Desde la línea de comandos, instale React MUI con:
npm install @mui/material @emotion/react @emotion/styled
En el componente App.tsx, agregue la referencia al componente Grid 2.
import { ... } from 'react'
// Grid version 2
import Grid from '@mui/material/Grid2'
En App.tsx, reemplace el contenido a renderizar en el return por:
...
function App() {
...
return (
<Grid>
{/* Indicadores */}
<Grid>Elemento: Indicador 1</Grid>
<Grid>Elemento: Indicador 2</Grid>
<Grid>Elemento: Indicador 3</Grid>
<Grid>Elemento: Indicador 4</Grid>
{/* Tabla */}
<Grid>Elemento: Tabla</Grid>
{/* Gráfico */}
<Grid>Elemento: Gráfico 1</Grid>
</Grid>
)
}
export default App
En App.tsx, aplique al elemento Grid contenedor:
return (
<Grid container spacing={5}>
{/* Indicadores */}
<Grid>Elemento: Indicador 1</Grid>
...
{/* Gráfico */}
<Grid>Elemento: Gráfico 1</Grid>
</Grid>
)
En App.tsx, aplique a todos los elementos Grid descendientes (con los textos del 1 al 6) los puntos de interrupción (atributo size) con las claves predeterminadas y valores de acuerdo con la siguiente tabla:
Clave (Tamaño) | Cantidad de columnas | Elemento |
---|---|---|
xs (extra-small) | 12 | Indicadores, Tabla y Gráficos |
xl (extra-large) | 3 | Indicadores |
8 | Tabla | |
4 | Gráfico |
return (
<Grid container spacing={5}>
{/* Indicadores */}
<Grid size={{ xs: 12, xl: 3 }}>Elemento: Indicador 1</Grid>
<Grid size={{ xs: 12, xl: 3 }}>Elemento: Indicador 2</Grid>
<Grid size={{ xs: 12, xl: 3 }}>Elemento: Indicador 3</Grid>
<Grid size={{ xs: 12, xl: 3 }}>Elemento: Indicador 4</Grid>
{/* Tabla */}
<Grid size={{ xs: 12, xl: 8 }}>Elemento: Tabla</Grid>
{/* Gráfico */}
<Grid size={{ xs: 12, xl: 4 }}>Elemento: Gráfico 1</Grid>
</Grid>
)
Instale el paquete gh-pages
npm install gh-pages --save-dev
En el archivo package.json
https://{username}.github.io/dashboard
: {
...
"homepage": "https://{username}.github.io/dashboard",
"type": "...",
"scripts": { ... }
}
{
...
"type": "...",
"scripts": {
...
"predeploy": "npm run build",
"deploy": "gh-pages -d dist",
...
}
}
En el archivo vite.config.js
agregue la ruta al repositorio remoto /dashboard
:
export default defineConfig({
base: "/dashboard",
plugins: [react()],
})
npm run deploy
Join us for a tour around the new site in our introductory blog post. You’ll learn what’s new, how to access the old site (in case you need it), and what’s coming next. https://t.co/h6K8uMyRXN
— React (@reactjs) March 16, 2023
🗣️💬 Shout it from the rooftops:
— MUI org (@MUI_hq) April 26, 2023
MUI is more than just Material UI! ✨
Headless components?
✅ Base UI
Next-gen design & DX?
✅ Joy UI
Advanced components?
✅ MUI X Data Grid & Date Pickers
Low-code admin builder?
✅ MUI Toolpad
Learn more here:https://t.co/ZulMd41oIf
librería, ui, ui material