Fera demais os links, geralmente inicio com caneta e papel decidindo tudo o que tem que ser feito na aplicação, desde ações que o usuário tem que poder fazer a regras de negócio, depois vou pro pc e organizo tudo separando por requisitos funcionais e não funcionais, daí parto pro https://dbdiagram.io/ pra endenter melhor a estrutura do banco da aplicação, ajuda bastante pra ver se não esqueceu nada. Não sei se é a melhor forma, mas tem funcionado bem pra mim.
Cara, eu tenho um template de backend em node js, se quiser ver, segue o link:
https://github.com/JhonesJhonatas/template-backend-nodejs
Ele segue os princípios do Solid com useCase, Controllers e injeção de dependência ;D