@Oversec

Как построить приложение с админ панелью, когда клиентская часть SPA?

Приложение написано на Nodejs + React+Redux+MongoDb
Как лучше мне построить клиентскую и админ часть приложения?

на данный момент структура приложения без админ панели
-server
--models
--routes
--static

-client
--dist
--src(react app)

Так как админ панель разница от клиентской, хотел вынести в отдельную папку, но как сделать в express статические папки разные в зависимости от части приложения? (админ панель или клиентская часть).
  • Вопрос задан
  • 2840 просмотров
Решения вопроса 1
Как бы я стал делать.
1. С помощью express написать Restful API
2. Используя React+Redux написать админку, которая общается с сервером через API
3. Положить админку на поддомен https://admin.example.com/
4. Разработать сайт на тех же инструментах, что и админку (react+redux)
5. Отдавать сайт при обращении к корню приложение (app.get('/', (req, res) => res.sendFile(path + '/public/index.html'));)

Поправьте меня пожалуйста, если что-то не так объяснил человеку
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@undefined_title
я не иду на лучшее решение, но вариантом может быть админка отдельным путем example.com/admin, и надо хорошо подумать над контролем доступа, что то типо юзерам задать группы. от сервера тебе надо только restapi. ты будешь сетит localStorage группу текущего пользователя и токен которые приходит от сервера при авторизации, теперь ты можешь узнавать какой юзер сейчас на сайте и взависимости от этого рендерить разное. можешь вынести админку в отдельный роутер и в навбаре если у юзера группа админа показывать линк на станицу администрирования. вот я делал роли USER, ADMIN, MODERATOR, админки есть, можешь посмотреть может что то поможет
https://github.com/andrey-shostik/video.ck.ua-frontend
https://github.com/andrey-shostik/video.ck.ua-backend
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы