M
M
Maxim Kuznetsov2016-06-08 19:55:55
Angular
Maxim Kuznetsov, 2016-06-08 19:55:55

How to organize the database of modules?

Good afternoon.
We are engaged in the development of sites and at the moment we have accumulated a fairly large database of various modules that migrate from project to project, for example - work with users, shopping cart, comments, applications, online payment, etc. I would like to somehow streamline, organize and formalize this business.
Usage example: you need to create an online store, we take all the necessary modules and assemble a project from them.
Each project has a certain framework: client part, administrative part, api.
A typical module: model (for example user), api (methods user.signup(), user.signin()), angular controllers-services-views for the admin, jqeury methods for working with the API for the client side.
Technology stack: MEAN.
Думал об NPM, но насколько я понимаю это только для серверной части. Так же смотрел yeoman.io вроде более менее подходящее.
В целом я вижу это как что-то вроде генераторов в ruby - я пишу new project hello-world (users, cart, products, reviews) и получаю базовую версию проекта.
Хотелки: какая-то интеграция с гитом (версионность), было бы неплохо интеграция с wiki / google docs (для ведения документации по модулям), возможность легкого обновления (например, нашли баг в модуле user и "одной командой" обновили все ранее созданные проекты (ну это совсем уже из разряда фантастики)).
Буду рад любым вашим советам - предложениям. Сам пока вижу варианты - git репозитоий (возможно с саб модулями), хранение кода "as is", npm + bower.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
Павел Радьков, 2016-06-08
@paulradzkov

Всё правильно вы предполагаете.
Git с версионностью по semver под каждый модуль.
Документация в том же репозитории (лучше в виде readme.md файлов, чем wiki — чтобы версия доков совпадала с версией кода).
NPM — обязательно, bower — по желанию (т.к. по сути это то же самое, что npm).
NPM можно использовать и для серверных и для фронтенд пакетов: после установки в конечный проект перемещать нужные папки и файлы в нужное место в этом проекте или инклюдить прямо из node_modules (перемещать при помощи Grunt / Gulp)
Только когда оформите все модули github + semver + npm, сможете собрать свой yeoman генератор.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question