Node.js Project Structure and Architecture Best Practices

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ก.พ. 2025

ความคิดเห็น • 66

  • @rjwhite4424
    @rjwhite4424 ปีที่แล้ว +4

    Video was super helpful! I'd love to see a tutorial where you make a simple api from start to finish showing how to correctly use the 3-layer approach

  • @gosnooky
    @gosnooky 11 หลายเดือนก่อน +16

    NestJS provides a seamless implementation of the 3-layer architecture. I recommend using it for anyone not wanting to re-invent the wheel.

  • @BarakAlmog
    @BarakAlmog 11 หลายเดือนก่อน

    Great video. Thanks so much! Second or third time that I'm watching it. Appreciate it!

  • @code_react
    @code_react ปีที่แล้ว +2

    For this reason i really love to use Nestjs. Which is using 3 layer approach. And also you can have modules for each different tasks.

  • @SayfSentinel
    @SayfSentinel ปีที่แล้ว +5

    i use almost an identical approach, it would be great to have this folder structure and a bit of code to understand the logic behind it in a github repo!
    very nice analyze, you got a subscriber with a ringbell activated :)

    • @SoftwareDeveloperDiaries
      @SoftwareDeveloperDiaries  ปีที่แล้ว

      I couldn’t really go into code due to time constraints but thank you for the feedback 😉 And happy to have you here!

    • @Matter743
      @Matter743 8 หลายเดือนก่อน

      Can you attach the github repo?

  • @aurobindobhuyan2107
    @aurobindobhuyan2107 8 หลายเดือนก่อน +1

    For Logging and Debugging, I use Morgan and Winston. The best part is you can combine it together to have the best o/p.

  • @nicolasmayorga8288
    @nicolasmayorga8288 7 หลายเดือนก่อน

    Amazing explanation, I'm here trying to learn more about architectures in backend due to I'm a Frontend trying to understand more about backend logic.

  • @alandmcleod5988
    @alandmcleod5988 7 หลายเดือนก่อน

    Excellent! Nice layout and simple to read code. Unusual on TH-cam vids 🙂

  • @isuckatthisgame
    @isuckatthisgame ปีที่แล้ว +2

    I typically implement a DAL (Data Access Layer) to mediate between a service and a database in my architecture. Within the model layer, I maintain class definitions that represent database entities, which I refer to as entity models. My approach can be seen as a sort of 3.5-layer architecture, as the model layer doesn't have direct communication with the database. 🙂 Anyhow, thanks for explanation.

    • @SoftwareDeveloperDiaries
      @SoftwareDeveloperDiaries  ปีที่แล้ว

      Interesting, thanks for sharing :)

    • @wahebbenzaid543
      @wahebbenzaid543 หลายเดือนก่อน

      I think you're implementing something like Respository patten, in that case, the ORM you use should'nt apear in the service layer. Instead, you use the ORM in the repositories, then you call its functions in the services right ?

  • @Jarjarniks
    @Jarjarniks 8 หลายเดือนก่อน

    Would have loved to be able to see this repository and investigate the routes, services, controllers etc in more detail. Thank you for the great video nonetheless!

  • @madhavanand756
    @madhavanand756 ปีที่แล้ว

    Make a video upon how to do testing, unit testing etc. And also best practice to implement logs.
    Superbbbb content dude. I was looking for this from sooo long.
    Up for any support if needed.

  • @yunyang6267
    @yunyang6267 ปีที่แล้ว +10

    Could you show us how to properly deploy a microservices architecture like this with several services and monitoring service to AWS or some other cloud proviiders? I think it'd be a great video

  • @codewithyaji
    @codewithyaji ปีที่แล้ว

    Very helpful vidoe of node developers.

  • @aurobindobhuyan2107
    @aurobindobhuyan2107 8 หลายเดือนก่อน

    Glad I'm following the same folder structure. 3layer structure 😅😅

  • @stillmattwest
    @stillmattwest 7 หลายเดือนก่อน +4

    This video should really be a playlist. It would be great if you slowed down and gave some specific examples for each of the major points. It seems like your target audience is new Node developers, but you move way too fast for them to keep up with you.

  • @dailypromos6477
    @dailypromos6477 ปีที่แล้ว

    Thank you for sharing!!

  • @maximus4510
    @maximus4510 ปีที่แล้ว

    That was informative for sure

  • @srikantagrawal6118
    @srikantagrawal6118 4 หลายเดือนก่อน

    Hey! Thanks for the video😍. Can you please share the folder?

  • @paperC_CSGO
    @paperC_CSGO 9 หลายเดือนก่อน

    Please do a video on monorepos!

  • @yutsacarm8021
    @yutsacarm8021 11 หลายเดือนก่อน

    really good content

  • @PJ-od9ev
    @PJ-od9ev 9 วันที่ผ่านมา

    Hi I wish I could access that project example in github.

  • @jawwadrizvi4291
    @jawwadrizvi4291 3 หลายเดือนก่อน

    Do you really need a separate model layer when you are using an ORM like sequelize?

  • @achrefnabil2463
    @achrefnabil2463 ปีที่แล้ว +2

    Can you share microservices/serverless/SOA/monolith folder structure

  • @onstn4129
    @onstn4129 11 หลายเดือนก่อน

    Thank u ❤

  • @bautistavicens7870
    @bautistavicens7870 10 หลายเดือนก่อน

    Could you apply Design Patterns, like Strategy, in node projects like the one in the video, with router, controllers and services? I´ve seen it and applied it in Java projects, but with POO paradigm. So, i´m in doubt if it is a good practice or not, to use it in node projects with this kind of paradigm.

  • @ramdoni3935
    @ramdoni3935 ปีที่แล้ว

    good explaine next content please Go-lang :)

  • @samueltheophilus1779
    @samueltheophilus1779 ปีที่แล้ว

    Love your videos man. What tool do you use to make these boards

  • @MoaathAlattas
    @MoaathAlattas ปีที่แล้ว

    it would be great to complete this with `Analytics`, `Continuous Integration (CI)` and `Deployments (staging/production)`

  • @niju7489
    @niju7489 11 หลายเดือนก่อน

    I have class based routers and controllers and models are seperate...I generated them using sequelize cli

  • @prajwalmandlik3517
    @prajwalmandlik3517 7 หลายเดือนก่อน +1

    If anyone has a good source for learning this, please share it in the comments.

  • @ajmaln73
    @ajmaln73 9 หลายเดือนก่อน

    can u share the codebase link in the description?

  • @mrlectus
    @mrlectus 3 หลายเดือนก่อน

    Why you separate controllers and router? Can't they be the same thing?

    • @SoftwareDeveloperDiaries
      @SoftwareDeveloperDiaries  3 หลายเดือนก่อน

      They could, but it’s easier to work with separate files, once the number of endpoints gets too large

    • @mrlectus
      @mrlectus 3 หลายเดือนก่อน

      @@SoftwareDeveloperDiaries ok understood

  • @wahebbenzaid543
    @wahebbenzaid543 หลายเดือนก่อน

    what about the repository pattern ? the repository can contains only the db interactions using the ORM (ODM) like mongoose. in this case, you should NEVER use mongoose in the service layer, because it's only for writing the buisness logic!

  • @lnard0
    @lnard0 10 หลายเดือนก่อน

    Hello, Do you still got the repo for this?

  • @torque_onair
    @torque_onair 6 หลายเดือนก่อน

    Did you mean that the best structure is a nest?
    I agree :)

  • @shreshthverma1535
    @shreshthverma1535 ปีที่แล้ว +1

    can you share the repo of this project

  • @khaledsanny4817
    @khaledsanny4817 ปีที่แล้ว

    We want to read your code 😊

  • @lardosian
    @lardosian ปีที่แล้ว

    FYI...sounds like you might have some kind of automated video or audio editing, seems to cut off some words in parts of your videos

    • @SoftwareDeveloperDiaries
      @SoftwareDeveloperDiaries  ปีที่แล้ว

      Exactly, it’s a feature in Filmora that removes silent parts of the video :)

    • @lardosian
      @lardosian ปีที่แล้ว

      @@SoftwareDeveloperDiaries Sounds like it needs tweaking because its removing parts of words, possibly a gate setting.

  • @ericsiddiq7634
    @ericsiddiq7634 10 หลายเดือนก่อน

    is it possible to get this project source code?

  • @whysohypocritical
    @whysohypocritical ปีที่แล้ว

    I wish you could share the code for your videos

  • @maksymshyshkov2787
    @maksymshyshkov2787 9 หลายเดือนก่อน

    good video. sorry for changing 666 thumbs up to +1 )) but I can't just pass by

  • @guntacaytar
    @guntacaytar 10 หลายเดือนก่อน

    huseyin baskan r harflarini cok vurgulu soyluyorsun dinlemek yorucu oluyor. haberin olsun. basarilarinin devamini dilerim

  • @frankr919
    @frankr919 ปีที่แล้ว

    😒 'promosm'