1
resposta

Estrutura MCV Nodejs.

Boa tarde, estou fazendo uma Api em node, porem no meio dela surgiu varias duvidas,

º como criar as pastas dentro do SRC º oque exportar e importar para conseguir fazer minha api rodar. º app,js,index.js vao em qual pasta. estou no começo da minha jornada em NodeJS, teria alguma documentação explicando isso mais detalhadamente para fazer algum sentido pra mim. pois somente com o curso de node com express acho que nao foi o suficiente.

Att Nicholas

1 resposta

Para quem está começando com o Node.js recomendo seguir a stack MERN (MongoDB, Express, React e Node.js). No modelo MVC, basicamente os controllers ficam responsáveis por manipular seu banco de dados, o model seria a estruturação de seu banco de dados, e comumente cada uma dessas responsabilidades ficam em seus próprios diretórios, 'controllers' e 'models'. A view pode ser referida como as respostas que sua API mandará para o frontend ou a própria interface do usuário que enviará requests para o servidor e renderizará os dados de acordo com os dados adqueridos pela API. É muito comum ver projetos monorepos distribuídos da seguinte forma:

server
├── controllers
├── models
├── middlewares
├── routes
├── index.js
//...

 web
 ├── src
     ├── components   
     ├── pages
     ├── services
     //...

O server cuida da manipulação dos dados com um serviço de API Rest por exemplo e a web cuida da renderização na parte do front-end, é claro que este é o feijão com arroz da MERN Stack, mas a ideia é esta. Há este artigo analytics-vidhya/implementation-of-mvc-rest-apis-in-expressjs caso queira saber mais como funciona o modelo MVC, a funcionalidade de cada estrutura e principalmente a organização dos diretórios, que na verdade não existe uma regra absoluta.