react-admin
A frontend Framework for single-page applications on top of REST/GraphQL APIs, using TypeScript, React and Material Design
Analisi AI · Italiano
openai · gpt-4o-miniSintesi
react-admin è un framework frontend open source basato su React e TypeScript che consente di creare applicazioni single-page per l'amministrazione, sfruttando API REST o GraphQL. Offre componenti e hook pronti all'uso per funzionalità come autenticazione, routing, gestione form, griglie dati, filtri, ruoli e permessi, e supporta la personalizzazione completa tramite un'architettura modulare. Supporta Material Design per l'interfaccia utente e garantisce un'esperienza utente ottimale e una notevole facilità di sviluppo. È adatto a sviluppatori che vogliono una soluzione rapida, sicura e scalabile per costruire dashboard amministrativi interattivi.
Casi d'uso
- →Costruzione rapida di dashboard di amministrazione per applicazioni web.
- →Creazione di interfacce di gestione dati su API REST o GraphQL esistenti.
- →Sviluppo di backoffice per gestire contenuti, utenti, ordini o ticket di supporto.
- →Realizzazione di strumenti CRM o helpdesk personalizzati con interfaccia moderna.
- →Prototipazione e sviluppo di applicazioni enterprise con focus su usabilità e accessibilità.
Idee SaaS / Business
Offrire un servizio cloud che utilizza react-admin per permettere a clienti di configurare e pubblicare dashboard di amministrazione senza scrivere codice.
Sviluppare un SaaS che fornisce data provider personalizzati preconfigurati per molteplici API e servizi consentendo l'uso immediato di react-admin.
Offrire un sistema di ticketing e gestione clienti configurabile in cloud, costruito su react-admin per flessibilità e facilità d'uso.
README · tradotto in italiano
react-admin
Un framework frontend per costruire applicazioni single-page che girano nel browser, basato su API REST o GraphQL, utilizzando TypeScript, React e Material Design. Progetto open source mantenuto da marmelab.
Homepage - Documentazione - Esempi - Blog - Releases - Supporto

Caratteristiche
- 🔌 Backend Agnostico: si collega a qualsiasi API REST o GraphQL, con oltre 45 adattatori disponibili
- 🧩 Tutti i Componenti Necessari: hook e componenti per autenticazione, routing, moduli e validazione, griglia dati, ricerca e filtri, relazioni, ruoli e permessi, editor di testo ricco, i18n, notifiche, menù, theming e caching
- 🪡 Alta Qualità: accessibilità, responsive, sicuro, veloce, testabile
- 💻 Ottima Esperienza per Sviluppatori: documentazione completa, autocompletamento IDE, sicurezza tipica con TypeScript, storybook, app demo con codice sorgente, architettura modulare, API dichiarativa
- 👑 Ottima Esperienza Utente: rendering ottimistico, filtri in tempo reale, annulla, preferenze, query salvate
- 🛠 Personalizzazione Completa: sostituisci qualsiasi componente con il tuo
- ☂️ Tipizzazione Opzionale: sviluppo in TypeScript o JavaScript
- 👨👩👧👦 Basato su Material UI, react-hook-form, react-router, react-query, TypeScript
Installazione
React-admin è disponibile su npm:
npm install react-admin
# oppure
yarn add react-admin
Documentazione
- Leggi il Tutorial per un'introduzione di 30 minuti
- Guarda i video tutorial su YouTube
- Consulta la documentazione completa
- Esplora il codice degli esempi di app: e-commerce, CRM, blog semplice, media player
Panoramica di Utilizzo
// in app.js
import * as React from "react";
import { createRoot } from 'react-dom/client';
import { Admin, Resource } from 'react-admin';
import restProvider from 'ra-data-simple-rest';
import { PostList, PostEdit, PostCreate, PostIcon } from './posts';
createRoot(document.getElementById('root')!).render(
<Admin dataProvider={restProvider('http://localhost:3000')}>
<Resource name="posts" list={PostList} edit={PostEdit} create={PostCreate} icon={PostIcon} />
</Admin>
);
Il componente <Resource> definisce pagine CRUD (list, edit, create) per l'endpoint /posts.
Esempio di componenti React-admin per visualizzare, modificare e creare post:
import * as React from "react";
import { List, DataTable, Edit, Create, SimpleForm, DateField, EditButton, TextInput, DateInput, useRecordContext } from 'react-admin';
import BookIcon from '@mui/icons-material/Book';
export const PostIcon = BookIcon;
export const PostList = () => (
<List>
<DataTable>
<DataTable.Col source="id" />
<DataTable.Col source="title" />
<DataTable.Col source="published_at" field={DateField} />
<DataTable.Col source="average_note" />
<DataTable.Col source="views" />
<DataTable.Col>
<EditButton />
</DataTable.Col>
</DataTable>
</List>
);
const PostTitle = () => {
const record = useRecordContext();
return <span>Post {record ? `"${record.title}"` : ''}</span>;
};
export const PostEdit = () => (
<Edit title={<PostTitle />}>
<SimpleForm>
<TextInput disabled source="id" />
<TextInput source="title" />
<TextInput source="teaser" options={{ multiline: true }} />
<TextInput multiline source="body" />
<DateInput label="Publication date" source="published_at" />
<TextInput source="average_note" />
<TextInput disabled label="Nb views" source="views" />
</SimpleForm>
</Edit>
);
export const PostCreate = () => (
<Create title="Create a Post">
<SimpleForm>
<TextInput source="title" />
<TextInput source="teaser" options={{ multiline: true }} />
<TextInput multiline source="body" />
<TextInput label="Publication date" source="published_at" />
<TextInput source="average_note" />
</SimpleForm>
</Create>
);
Compatibilità con API
React-admin usa un approccio basato su adapter chiamati Data Provider. È possibile utilizzare un provider esistente o scrivere un Data Provider personalizzato per qualsiasi API. Scrivere un Data Provider richiede poche ore.
Architettura e Personalizzazione
React-admin è una libreria di componenti React disaccoppiati che espongono logica di controllo riutilizzabile. È facile sostituire qualunque parte con componenti propri (ad esempio una griglia dati personalizzata, GraphQL invece di REST, Bootstrap invece di Material Design).
Esempi
Esempi disponibili nella cartella examples:
| Nome | Descrizione | Link Demo | Link Codice |
|---|---|---|---|
| simple | Blog semplice con posts, commenti e utenti | StackBlitz | Codice |
| e-commerce | Shop di poster fittizio | Demo | Codice |
| CRM | Gestione relazioni clienti | Demo | Codice |
| helpdesk | Ticketing con notifiche realtime | Demo | Codice |
| tutorial | App creata seguendo il tutorial | Stackblitz | Codice |
Esecuzione degli esempi:
make install
# oppure
yarn install
# Eseguire l'esempio semplice
make run-simple
# Eseguire l'esempio tutorial
make build
make run-tutorial
# Eseguire l'esempio demo
make build
make run-demo
Poi visita l'URL indicata nella console.
Supporto
- Supporto commerciale da Marmelab con React-Admin Enterprise Edition
- Supporto comunitario su Discord e StackOverflow
Contribuire
Puoi contribuire segnalando bug, rispondendo a domande su StackOverflow, creando pull request per bugfix o funzionalità. Segui lo stile di codice basato su prettier e scrivi test/documentazione. Usa make per i comandi automatici.
Testing e sviluppo
- Usa
make testper eseguire test (lint, unit e funzionali). - Esempio visuale principale:
make run-simplecon live reload. - Esempio demo:
make run-demoomake run-graphql-demo, no live reload. - Usa
yarn linkper collegare la versione locale di react-admin al tuo progetto client.
...
Attività commit · ultime 26 settimane
stimaApprofondimenti AI
Chiedi al repo
AI · contesto README + issueFai una domanda sul progetto. L'AI legge README e issue recenti.
Hai bisogno di un server per far girare marmelab/react-admin?
Abbiamo testato decine di provider e Hostinger VPS è il miglior rapporto qualità/prezzo per self-hostare le repo che trovi qui. Setup in 1 click, pannello semplice e supporto 24/7.
Integra marmelab/react-admin in un progetto Lovable
Questa repo è compatibile con lo stack di Lovable. Importala in un nuovo progetto o aggiungila a uno esistente: Lovable si occupa di setup, deploy, backend e auth — tu chiedi in linguaggio naturale e l'AI scrive il codice.
Abbiamo rilevato segnali che indicano uno stack supportato da Lovable:
Questo progetto esiste grazie a voi
RepoRadar AI è gratis e senza pubblicità. Le donazioni coprono server, API e modelli AI.
Ogni analisi tradotta che leggi costa qualche centesimo di chiamate al modello. Se RepoRadar ti ha fatto risparmiare tempo, considera una piccola donazione cripto — anche pochi euro aiutano a mantenere il servizio libero per tutti.
0x86ECDF546d8dFc0739d44c066A6110F11cdB7773bc1qqe0wcmhnt78enk8ql0lxvey4z8hquxsxjtyz8rEtTK61Lz7kfdDM8543TMMiAUUTbFVpzX5tvPEcBtZ3ajGrazie di cuore — ogni contributo conta.