1.1 Структурируйте ваш проект по компонентам
довольно спорная штука. раньше у меня так и было сделано. но потом я осознал, что контроллеры и презенторы относятся к одному слою, а юзкейсы с репозиториями — к другим. поэтому я их отделил по разным папкам.
тем более, что каждый репозиторий сейчас привязан лишь к своей таблице в бд, а каждый юзкейс — не привязан к конкретному репозиторию. и было бы странно размещать репозиторий в папке юзкейса, а потом обращаться к нему из другого юзкейса. делать персональный репозиторий для каждого юзкейса — тоже странно, будет дублирование кода. в общем, не знаю...
структура по компонентам говорит: так, у нас есть три компонента: BMI, Info и Weight.
текущая структура говорит: ага, у нас есть папка bot, в которой находятся контроллеры двух команд: Info и Weight и сосредоточена вся работа с телеграмом; так же у нас есть папка core, в которой находится внутреннее апи приложения. мне кажется, такая структура более кричащая.
1.2 Разделяйте слои ваших компонентов и не смешивайте их со структурой данных Express и остальные
это и так сделано.
я просто генерирую компоненты) меня вообще не волнует как оно там лежит, что фронт, что бэк под шаблоном.