Нужно не за модой гоняться, а исходя из задачи подходить.
На все 100% согласен. А теперь по пунктам. Начну наверное с того, что на Java Spring я программировал около 2х лет, так что обвинять меня в незнании его я бы не торопился)
Стабильная платформа, где нет танцев с бубнами для сборки софта (т.е. не нода, на которой половина софта даже установиться нормально не может)
Танцев с бубном в NodeJS не больше, чем в Java, Python, C++, PHP или чем бы то ни было еще. То что у Вас это вызывает какие-то проблемы, как раз говорит о том, что вы просто не знакомы с современной экосистемой JS. Вот уж точно npm\yarn и управлениями зависимостями это куда проще, чем Maven + Gradle.
Популярный framework с хорошей обратной совместимостью, обязательно IoC и развитые возможности для юнит-тестирования
А вы посмотрите исходники) У нас там и IoC и DI и все, что вы так сильно любите. А фреймворк популярнее epress найти нынче трудно. Наверное, только Laravel, но это уже PHP.
Универсальная БД с поддержкой транзакций для хранения журналов транзакций и пользовательских учеток
Я вас наверное сильно удивлю, но для хранения журнала транзакций поддержка транзакций со стороны СУБД как раз не нужна. Транзакция вполне себе умещается в один объект без связий(как внешних, так и внутренних), а значит и транзакционность операции записи вам тут не нужна. Запись одного документа - атомарная операция. Так же и с учеткой пользователя.
Простой UI (нет infinity scroll и прочих задач для virtual DOM) - регистрация, авторизация, пополнение счета (backend генерирует и выводит адреса в разных крипто платформах)
Но как это коррелирует с bootstrap? Зайдите на
https://contribute.jincor.com - это достаточно простой UI?
Изумительная платформа - работает как швейцарские часы, хорошая обратная совместимость, сильная типизация переменных без костылей вроде flow и typescript, нормальная многопоточность.
NodeJS/Python/RubyOnRails/PHP тоже изумительные платформы и работают как швейцарские часы
Все платформы хороши, каждая для своих задач. И вот Java для создания Open Source проектов в вебе подходит решительно меньше всего вышеперечисленного. Она довольно сильно устарела, ее надо компилировать, она прожорлива, неповоротлива, она более требовательна к разработчикам. Java это про Enterprise, а мы тут с вами не Enterprise Solutions вроде обсуждаем. И еще раз повторю: я работал на Java и неплохо ее знаю, не стоит обвинять меня в ее незнании, тем более, если вы меня не знаете. Пока что у меня сложилось ощущение, что вы кроме Java как раз ничего не знаете и активно топите за нее(и другие технологи с которыми мало мальски знакомы, вроде bootstrap). Обвинять в том, что вы стремитесь сделать продукт с технологиями, которые просто знаете сами - глупо, это нормальная практика, но и мотивировать свои решения надо открыто и соответствующе, а не выдумывать.
Особенно про нормальную многопоточность порадовало) И что вам дает ваша "нормальная многопоточность" в разрезе этой задачи? Неблокирующий I\O дает куда больше преимуществ в этом контексте. Предвижу сейчас разговоры про скорость и производительность, но это просто смешно сравнивать Java Spring и NodeJS.
Нравится типизация? Возьмите go, в этом и то больше смысла, ведь сможете работать со многими блокчейн-клиентами из коробки(inb4 go-ethereum).