Arquiterura
O Node com express ou fastify é muito permissivo e aberto a qualqer coisa que vocẽ faça! Com ou sem alguma arquitetura na cabeça.
Colocou tudo num mesmo arquivo roda lindo!
E isso pode ser um problema para iniciantes - eu tive esse problema!
Nesse caso você pode:
1: usar algum framework opinado - que já vem com a arquitera pronta e apenas usa seu código.
2: correr atrás e estudar sobre. Acho que um bom começo é a organização de pastas, que não é bem arquitetura mas é um bom começo para deixar o projeto mais fácil de mexer!
Eu gosto muito da arquitera modular! Casa bem com meus pensamentos!
Aqui neste link tem algumas formas de aquitetura:
https://nyomansunima.hashnode.dev/pick-your-best-node-js-architecture
Aqui tem mais um pouco
https://alexkondov.com/tao-of-node/
Aqui sobre estrutura de pastas baseadas em recursos, muito parecid com modular
https://dev.to/pietmichal/how-to-structure-your-app-in-a-way-that-scales-bkf
Aqui fala sobre arquitetura em camadas
https://dev.to/blindkai/backend-layered-architecture-514h
Aqui sobre como estruturar um projeto - não existe jeito certo ou errado
https://dev.to/nermineslimane/how-to-structure-your-express-and-nodejs-project-3bl
Acredito que esses artigos te deem uma luz para começar!
E é importante saber - não existe certo e errado nisso tudo!
sobre JS
Tem um erro conceitual.
Se você programa em JS utilizando Node ou front você já esta programando em boa parte utilizando programação orientada a objetos.
Orientação a objetos não é ter class. Interface por exemplo.
Js é plenamente orientado a objetos, mas de forma prototipica(que é diferente)
Embora hoje Js já tenha a palavras Class e pareça alguma linguagem mais conhecida...
A gente mesmo gosta de utilizar mais funções, por ser mais simples!
Um módulo é como se fosse uma classe.
Ele é encapsulado la dentro.
Então com módulos e funções da pra criar grandes projetos.
o PNPM é um grande gerenciador de pacotes para Node que não tem uma palavra class nele.
Abraços e bons estudos!