Sobre el proyecto

React-admin es un framework de frontend mantenido por marmelab para crear aplicaciones de página única que se ejecutan en el navegador sobre APIs REST o GraphQL. Está escrito en TypeScript y construido sobre React y Material Design, y se distribuye en npm como react-admin. Agnosticismo del backend: el framework se comunica con las APIs a través de adaptadores llamados Data Providers. El README enlaza una lista de Data Providers que documenta más de 45 adaptadores, y explica que los proveedores existentes pueden servir como modelo para una API o que se puede escribir un Data Provider personalizado para consultar una API existente. Bloques de construcción: el proyecto describe la provisión de hooks y componentes que cubren autenticación, enrutamiento, formularios y validación, datagrids, búsqueda y filtrado, relaciones, roles y permisos, un editor de texto enriquecido, i18n, notificaciones, menús, temáticos y almacenamiento en caché. También enumera cualidades como accesibilidad, capacidad de respuesta, seguridad, velocidad y testabilidad, y características de experiencia de usuario como renderizado optimista, filtrado mientras se escribe, deshacer, preferencias y consultas guardadas. Personalización: react-admin se presenta como una biblioteca de componentes y hooks de React débilmente acoplados que exponen una lógica de controlador reutilizable, de modo que cualquier parte puede ser reemplazada por la propia, por ejemplo, un datagrid personalizado, GraphQL en lugar de REST, o un sistema de diseño diferente en lugar de Material Design. TypeScript se describe como opcional, por lo que el desarrollo puede realizarse en TypeScript o JavaScript. El README señala que el framework está impulsado por Material UI, react-hook-form, react-router, react-query y TypeScript, entre otros. Primeros pasos: la instalación se realiza con npm install react-admin o yarn add react-admin. La documentación incluye un tutorial, tutoriales en video de YouTube y una referencia completa de la API. El repositorio contiene aplicaciones de ejemplo: un blog sencillo con publicaciones, comentarios y usuarios utilizado para pruebas end-to-end; un administrador de tienda de pósteres de comercio electrónico que es la demo oficial; una aplicación CRM; una aplicación de tickets de soporte con bloqueos y notificaciones en tiempo real; y la aplicación construida siguiendo el tutorial. El README establece que estos ejemplos funcionan sin un servidor porque la API se simula en el lado del cliente. Un ejemplo de uso mínimo muestra un componente Admin que envuelve componentes Resource que declaran páginas de lista, edición y creación para un endpoint de API, con componentes de página construidos a partir de List, DataTable, Edit, Create, SimpleForm, DateField, EditButton y componentes de entrada. Desarrollo: el monorepo utiliza un makefile con comandos como make install, make build, make run-simple, make run-demo, make test y make prettier. Las pruebas unitarias utilizan jest, las pruebas end-to-end utilizan cypress, y un hook de pre-commit de git ejecuta las pruebas relacionadas con los archivos modificados. Se espera que las contribuciones sigan el estilo de codificación existente basado en prettier e incluyan pruebas unitarias y documentación. Las solicitudes de pull request para corrección de errores se dirigen a la rama master, mientras que las nuevas funciones y los cambios disruptivos se dirigen a next. Soporte y licencia: el soporte comunitario se ofrece a través de Discord y StackOverflow, y el soporte comercial se ofrece a través de una React-Admin Enterprise Edition. React-admin tiene licencia bajo la Licencia MIT y es gratuito para su uso, incluso para fines comerciales.