Для фронтенда лучше иметь 2 отдельных папки: dev и production с дублирующими вложенными папками.
В папке dev храните SASS (папка styles), чистый JS (папка scripts или js) ("чистый", в смысле "исходный", здесь же можно и babel, и всякое похожее) и картинки (img) в исходном разрешении. Там же папку с чистым html/php.
Gulp пусть собирает все в папку production, где в styles льется CSS, в scripts – обработанный JS (например, линтом, префиксером и минификатором), сжатые картинки в img и html/php.
Для бэка все просто: используйте, по возможности, один require в каждой странице, а тот скрипт собирайте из всех остальных. Все, что касается фронта помещайте в глобальную папку views, а скрипты для бека – в папки model и controller. Надеюсь, все понятно разъяснил