NewProject1
@NewProject1
http://newproject1.com

Как организовать базу модулей?

Добрый день.
Занимаемся разработкой сайтов и на данный момент наработана достаточно большая база из различных модулей, которые мигрируют из проекта в проект, например - работа с пользователями, корзина, комментарии, заявки, онлайн оплата и тд. Хочется как-то упорядочить, организовать и формализовать это дело.

Пример использования: нужно создать интернет магазин, мы берем все необходимые модули и собираем из них проект.
В каждом проекте есть определенный каркас: клиентская часть, административная часть, api.
Типичный модуль: модель (например user), api (методы user.signup(), user.signin()), angular контроллеры-сервисы-представления для админки, jqeury методы для работы с API для клиентской части.
Стек технологий: MEAN.

Думал об NPM, но насколько я понимаю это только для серверной части. Так же смотрел yeoman.io вроде более менее подходящее.

В целом я вижу это как что-то вроде генераторов в ruby - я пишу new project hello-world (users, cart, products, reviews) и получаю базовую версию проекта.

Хотелки: какая-то интеграция с гитом (версионность), было бы неплохо интеграция с wiki / google docs (для ведения документации по модулям), возможность легкого обновления (например, нашли баг в модуле user и "одной командой" обновили все ранее созданные проекты (ну это совсем уже из разряда фантастики)).

Буду рад любым вашим советам - предложениям. Сам пока вижу варианты - git репозитоий (возможно с саб модулями), хранение кода "as is", npm + bower.
  • Вопрос задан
  • 195 просмотров
Пригласить эксперта
Ответы на вопрос 1
paulradzkov
@paulradzkov
Дизайнер, верстальщик, начальник отдела UI
Всё правильно вы предполагаете.
Git с версионностью по semver под каждый модуль.
Документация в том же репозитории (лучше в виде readme.md файлов, чем wiki — чтобы версия доков совпадала с версией кода).
NPM — обязательно, bower — по желанию (т.к. по сути это то же самое, что npm).

NPM можно использовать и для серверных и для фронтенд пакетов: после установки в конечный проект перемещать нужные папки и файлы в нужное место в этом проекте или инклюдить прямо из node_modules (перемещать при помощи Grunt / Gulp)

Только когда оформите все модули github + semver + npm, сможете собрать свой yeoman генератор.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы