marmelab
marmelab

react-admin

A frontend Framework for single-page applications on top of REST/GraphQL APIs, using TypeScript, React and Material Design

5.5kfork
26.8kwatcher
55issue
TypeScript

Analisi AI · Italiano

openai · gpt-4o-mini

Sintesi

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

Piattaforma SaaS per creazione dashboard amministrativi personalizzati

Offrire un servizio cloud che utilizza react-admin per permettere a clienti di configurare e pubblicare dashboard di amministrazione senza scrivere codice.

Servizio di integrazione API personalizzate per react-admin

Sviluppare un SaaS che fornisce data provider personalizzati preconfigurati per molteplici API e servizi consentendo l'uso immediato di react-admin.

Soluzione SaaS di helpdesk e CRM basata su react-admin

Offrire un sistema di ticketing e gestione clienti configurabile in cloud, costruito su react-admin per flessibilità e facilità d'uso.

Target utenti
Sviluppatori frontend e backend, team di sviluppo software di medie e grandi aziende, liberi professionisti e agenzie che necessitano di creare applicazioni di amministrazione e gestione dati con interfacce moderne e personalizzabili.
Categoria
React, TypeScript, Material UI
Monetizzazione
Modello freemium con versione open source gratuita e una versione Enterprise Edition a pagamento che offre supporto commerciale, funzionalità avanzate, e servizi personalizzati.
Licenza
MIT License
Trend: React-admin sfrutta tecnologie consolidate come React e TypeScript, con una solida community e supporto per API REST e GraphQL, rispondendo alle esigenze attuali per dashboard amministrativi personalizzabili.

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

Data provider architecture

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

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:

NomeDescrizioneLink DemoLink Codice
simpleBlog semplice con posts, commenti e utentiStackBlitzCodice
e-commerceShop di poster fittizioDemoCodice
CRMGestione relazioni clientiDemoCodice
helpdeskTicketing con notifiche realtimeDemoCodice
tutorialApp creata seguendo il tutorialStackblitzCodice

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

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 test per eseguire test (lint, unit e funzionali).
  • Esempio visuale principale: make run-simple con live reload.
  • Esempio demo: make run-demo o make run-graphql-demo, no live reload.
  • Usa yarn link per collegare la versione locale di react-admin al tuo progetto client.

...

Attività commit · ultime 26 settimane

stima

Approfondimenti AI

L'AI sta preparando gli approfondimenti…

Chiedi al repo

AI · contesto README + issue

Fai una domanda sul progetto. L'AI legge README e issue recenti.

Sponsor · Sconto esclusivo RepoRadar AI

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.

Deploy in 1 click
2 vCPU · 8 GB RAM · NVMe
Backup + DDoS inclusi
Attiva sconto Hostinger VPSLink affiliato — supporti RepoRadar senza costi extra per te.
Compatibile con Lovable · Invito esclusivo

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.

Setup zero-config
Backend + Auth inclusi
Deploy con 1 click
Motivo compatibilità

Abbiamo rilevato segnali che indicano uno stack supportato da Lovable:

langTypeScripttopicreacttopicreactjs
Registrati gratis su LovableLink invito — bonus crediti per chi si registra da RepoRadar.

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.

Ethereum
ETH
0x86ECDF546d8dFc0739d44c066A6110F11cdB7773
Bitcoin
BTC
bc1qqe0wcmhnt78enk8ql0lxvey4z8hquxsxjtyz8r
Solana
SOL
EtTK61Lz7kfdDM8543TMMiAUUTbFVpzX5tvPEcBtZ3aj

Grazie di cuore — ogni contributo conta.