Bom dia, Pablo!
Entendo a sua preocupação na questão de escalabilidade do projeto, então vamos conversar um pouco sobre a arquitetura dele.
A arquitetura utilizada no projeto da aula é o MVC (Model, View e Controller) ela é bem comum e grande parte dos projetos a utilizam, pois é uma estrutura de fácil entendimento.
Para a melhoria dela, pensando na escalabilidade, são adicionadas outras camadas de abstração, como o services
que, geralmente, estabelece classes modelos para requisições HTTP que acontecem na camada do Controller, visando a não replicação de código.
Mas definitivamente o modelo MVC pode ser estranho de início, quando não entendemos o que acontece em cada camada.
Na imagem acima vemos todo o processo que ocorre quando o usuário faz uma requisição para uma API no modelo MVC. Onde, no primeiro momento, a camada de Controller
recebe a requisição e realiza outra para a camada de Model
, buscando a tabela e os dados requiridos na busca do usuário. Após a camada Model
receber essa requisição, ela retorna uma resposta contendo as informações pedidas pelo Controller
e o mesmo envia essas informações, agora tratadas ou ajustadas ao pedido do usuário para a camada View
que mostrará as informações para o usuário.
No caso do projeto, a última etapa não é bem aplicada em API's, já que a forma de visualização é feita via terminal ou aplicações como Postman ou Insomnia.
Enfim, toda essa informação é importante para te dizer que a arquitetura utilizada tem sua complexidade e simplicidade andando juntas e podendo ser ajustadas.
Caso tenha ficado com alguma dúvida estarei à disposição para ajudar.