Проект MEAN — Организация

Мне интересно, каковы ваши лучшие практики для проекта приложения с одной веб-страницей с использованием стека MEAN (MongoDB, Express, Angular и Node.js).

Сейчас у нас следующая организация:

  • Один репозиторий Git для кода стороны клиента Angular.
  • Один репозиторий Git для кода node.js и экспресс-сервера.

Я видел, просматривая некоторые блоги и проверяя шаблон node.js, что общая структура состоит в том, чтобы иметь только один репозиторий для обработки кода Angular. и код сервера.

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

Лично я особой разницы не вижу...


person Alex Grs    schedule 16.02.2014    source источник
comment
Взгляните на github.com/angular-app/angular-app.   -  person Whisher    schedule 16.02.2014


Ответы (1)


Я тоже не вижу большой разницы. На самом деле этим должна управлять команда. Организация вашего кода могла бы быть полезной, если бы у вас были отдельные команды фронтенда и бэкэнда. Я видел среду, когда ребята из пользовательского интерфейса загружали только часть пользовательского интерфейса и подключались к серверной части REST, развернутой где-то на сервере DEV.

Номер 2 — процедура освобождения. Если ваш интерфейс и сервер тесно связаны, они будут выпущены вместе на 99%. Тогда вам не нужно обрабатывать 2 репозитория. Однако, если ваша серверная часть будет служить конечной точкой службы REST для других клиентов, а не только для вашего пользовательского интерфейса, и вы планируете выпускать изменения во внешнем интерфейсе, не касаясь серверной части (без простоев для внешних клиентов), вы можете использовать два отдельные репозитории.

Также подумайте о своем сервере CI. Возможно, вы захотите запустить сборку и тестирование внешнего и внутреннего интерфейса отдельно. Однако для большинства CI-серверов не имеет значения, одно это репо или два.

person Piotr Gwiazda    schedule 16.02.2014
comment
Спасибо, что подтвердили то, что я думал ^^ Итак, для этого проекта мы будем использовать два репозитория, так как сервер и внешний интерфейс на самом деле не связаны! - person Alex Grs; 17.02.2014