Напишу сообщение чисто про бэкэнд Я бы посоветовал учить самый известный фреймворк - nest (DI, test, cli, микросервисы) С другой стороны если не хочешь усложнять проект, ты можешь сам все фичи сделать, например подключить typescript для типизации для DI можно использовать inversify, особенное с их библиотеками inversify-express-utils для тестов mocha/jest микросервисы можно реализовать вместе с gRPC, RabbitMQ Для http сервер можно взять обычный express или fastify Но как никак под nest много удобных пакетов и решений.
Mortensen, честно сам никогде не использовал, мне он кажется слишком специфичным. Я видел как люди на нём тоже спокойно работают, да и спонсоры/контрибьюторы также подтверждают актуальность этого фреймворка(javascript runtime как они называют себя).