Всем привет!
Пилю backend на Expressjs. Заказчик просит чтобы backend состоял
как бы из двух API:
shop-api.routes.js: /api/shops/bla-bla
buyer-api.routes.js: /api/buyers/bla-bla
Между роутами shops и buyers очень много общего функционала.
Пожалуйста, помогите со структурой файлов. Я вижу такие варианты:
1) как можно меньше файлов
src
..api
....shop-api.js <- весь функционал shop-api
....buyer-api.js <- весь функционал buyer-api
..helpers
....api-common.js <- общий функционал (между shop и buyer)
2) разбить на модули по сущностям:
src
..api
....shop-api
......shop-api.users.js <- функционал сгруппирован по сущностям
......shop-api.books.js
....buyer-api
......buyer-api.users.js
......buyer-api.books.js
..helpers
....api-common.js <- общий функционал
3) 1 роут - 1 файл (разбить еще сильнее)
src
..api
....shop-api
......users
........shop-api.users.get.js <- 1 роут - 1 файл
........shop-api.users.post.js
....buyer-api
......users
........shop-api.users.get.js
........shop-api.users.post.js
..helpers
....api-common.js <- общий функционал
4) другая проблема:
огромный api-common.js. Может его разбить?
..helpers
....api-common.users.js <- общий функционал разбит на модули
....api-common.books.js
Подскажите какая структура правильная? Как хранить кучу (тысячи строк) общего функционала?