Простая интеграция react-admin в бэк на express/mongoose

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

React-admin позволяет быстро получить достаточно быструю, красивую и функциональную админку. Нужно только написать dataProvider или подстроить бэк под него.

Чтобы этот процесс максимально упростить, я сделал пару модулей, решил ими поделиться.

dataProvider я взял из документации, но использует _id вместо id, что удобно с монгой.

Чтобы создавать в express необходимые enpoint`ы я написал фукнцию, которая принимает в качестве аргументов router, адрес и модель. get метод там поддерживает сортировку и фильтры, совместимые с react-admin.

Для создания нужных компонент на фронте можно использовать *Guesser из react-admin, но я написал скрипт, который парсит файл с моделью и генерирует нужные поля. В качестве аргумента ему передается путь к файлу с моделей, и необязательный параметр --filters для полей, по которым нужны фильтрация.

Например: python gen_view.py ~/project/models/user.js --filters=email,first_name >src/users.js

Последний 2 строчки там - строка Resourse, которую нужно добавить в App.js

Вопрос авторизации решается на стороне express.

Вот собственно и всё, так имея только модели mongoose можно получить crud-админку.

Источник: https://habr.com/ru/post/568080/


Интересные статьи

Интересные статьи

Привет, Хабр! Вокруг меня сформировался позитивный информационный фон на тему обработки событий через Kafka Streams. Этот инструмент привлекает множеством видео-докладов ...
Существует множество публикаций о разработке чат-ботов с использованием возможностей платформы Dialogflow. Но для выхода на решение, которое применимо на практике, просто создать бота нед...
Наткнувшись недавно на статью о react-admin, я решил попробовать что это за зверь. Было интересно прикрутить это к джанге, благо там есть dataprovider для rest framework.
«Битрикс» — кошмар на костылях. Эта популярная характеристика системы среди разработчиков и продвиженцев ныне утратила свою актуальность.
В Челябинске проходят митапы системных администраторов Sysadminka, и на последнем из них я делал доклад о нашем решении для работы приложений на 1С-Битрикс в Kubernetes. Битрикс, Kubernetes, Сep...