Angular 6 я должен создать отдельное приложение или отдельный модуль для панели администратора? - PullRequest
0 голосов
/ 15 октября 2018

В настоящее время я работаю над проектом angular 6 для создания веб-сайта (веб-сайта компании) со следующими функциями

  1. Веб-сайт, который выступает в качестве веб-сайта компании +Интернет-магазин с целевыми страницами, где содержимое (например, слайдер, текст и изображения, список) может быть изменено с панели администратора.

  2. Также есть страница продуктов с корзиной для покупок, где пользователи могут приобрести продукты компании, войдя в систему в

  3. Панель администратора, где администратор может контролировать содержимоена веб-сайте

Примечание:

Панель администратора и содержимое веб-сайта (за исключением страниц с продуктами и карты покупок) подключены к NodeJs Apiwebsite-api

Список продуктов и корзина подключены к различным NodeJs Api

В настоящее время я создал угловой проект со следующими модулями

  • Модули администратора: с компонентамии маршруты, связанные с панелью администратора
  • Модули просмотра: с различными компонентами и маршрутами, связанными с различными страницами, такими как дома, о нас, свяжитесь с нами, карьеры и т. д.Модули: с компонентами, относящимися к странице продукта, списку и корзине

  • Модуль совместного использования: с компонентами, которые совместно используются этими различнымиNT модули

В настоящее время у меня есть следующие проблемы:

  • Как я должен обрабатывать структуру / модули проекта для оптимизацииэто для производительности?

  • Как мне обращаться с аутентификацией, поскольку у меня одно и то же приложение, подключенное к двум отдельным API (если у меня отдельная аутентификация)?

  • Должен ли ясоздать отдельное приложение angular 6 для панели администратора или мне стоит заняться созданием другого модуля в том же приложении?

Я ценю любые предложения по улучшению общей производительности приложения

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

Я считаю, что, прежде всего, к каждому проекту следует подходить в соответствии с его потребностями, масштабом и уровнем сложности.С учетом сказанного, в вашем конкретном случае, я думаю, вы должны спросить себя, насколько большой будет эта панель администратора?Я вижу, что от панелей администратора это было минимально и узко, просто позволяя администратору выполнять простые действия на уровне администратора, до полноразмерных панелей администратора, которые используются сотнями, с различными уровнями доступа, отображая статистические данные на нескольких экранах воперационная комната с 50 сотрудниками и более.Если ваша админ-панель должна выполнять только базовые или умеренные административные действия, она может быть в том же приложении.Если масштаб и сложность становятся больше, вы можете выделить его для отдельного приложения, чтобы лучше контролировать систему.

Не забудьте разделить на два приложения, где это не нужно (обычно в малом масштабе), скорее всего, вызовет дополнительный нежелательный «беспорядок».

«Уровни масштабирования», упомянутые в моем ответе, все реляционные, как и все.Таким образом, тот, кто сделает вызов и, конечно, «измерит» вещи в соответствии с тем, как выглядит большая картина, это вы.

Удачи!

0 голосов
/ 15 октября 2018

Производительность

Во-первых, вы должны оптимизировать свой собственный код: избегайте O(n²) сложности (или более), запрашивайте только необходимые данные HTTP, не импортируйте модули, которые вы не используете ...

После этого вы также можете использовать отложенную загрузку для загрузки ваших модулей по требованию.

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

Разбиение вашего приложения на два, конечно, повлияет на вашу производительность, но это сильно зависит от содержимого обоих приложений.

Аутентификация

Это ваше дело: выможет иметь либо два отдельных приложения с двумя отдельными базами данных и двумя разными аутентификациями, либо вы можете иметь одно приложение с базой данных на основе ролей.

Я видел и работал над обоими, ни лучше, ни хуже.Оба они имеют свои преимущества и недостатки: выбор за вами.

Учитывая эти два мнения, вы должны угадать последнее: вы можете выбрать любой вариант для вашего приложения.Это действительно зависит от вас, вашей команды и ваших конечных пользователей.

...