Horizontal — organize by layer. Vertical — organize by feature.
Horizontal (Layer-Based):
Horizontal:
src/
controllers/
userController.js
orderController.js
services/
userService.js
orderService.js
models/
userModel.js
orderModel.js
Vertical (Feature-Based):
Vertical:
src/
user/
controller.js
service.js
model.js
order/
controller.js
service.js
model.js
Key differences: