2024-04-23
3717
#node
Precious Luke
66724
Apr 23, 2024 ⋅ 13 min read

Building and structuring a Node.js MVC application

Precious Luke Open source crusader. I love building stuff with great technology.

Recent posts:

vitest 4 adoption guide

Vitest 4 adoption guide: Overview and migrating from Jest

Learn how Vitest 4 makes migrating from Jest painless, with codemods, faster tests, native ESM, browser testing, and a better DX.

Onuorah Bonaventure
Dec 18, 2025 ⋅ 15 min read
type vs interface typescript

Types vs. interfaces in TypeScript

Learn when to use TypeScript types vs. interfaces, with practical guidance on React props, advanced mapped and template literal types, performance tradeoffs, and common pitfalls.

Yan Sun
Dec 18, 2025 ⋅ 12 min read

I tested 5 AI CLI tools: Here’s how they stack up

A hands-on comparison of five AI coding CLIs, tested by building the same React Todo app.

Emmanuel John
Dec 18, 2025 ⋅ 10 min read
the replay december 17

The Replay (12/17/25): React2Shell, Shopify Winter ‘26, and more

Discover what’s new in The Replay, LogRocket’s newsletter for dev and engineering leaders, in the December 17th issue.

Matt MacCormack
Dec 17, 2025 ⋅ 34 sec read
View all posts

2 Replies to "Building and structuring a Node.js MVC application"

  1. Hi! A very usefuk tutorial. It has helped me to definetively understand the MVC architecture. Thanks a lot.

    I have only one doubt: which is the right way to inform the user that are, for example, empty fields? The code line “console.log(“Fill empty fields”);” I think that is not visible for the user. That is, which is the right way to show input errors (duplicate name, not match password, …) on the ‘view’ from the ‘controller’?

    Thanks.

  2. It’s an awful example of MVC. Controllers should have no business logic inside of them! The Model in MVC is not just a Mongo model but the whole business logic with managers, services, db models, etc.

Leave a Reply

Hey there, want to help make our blog better?

Join LogRocket’s Content Advisory Board. You’ll help inform the type of content we create and get access to exclusive meetups, social accreditation, and swag.

Sign up now