When I was at the beginning of my coder’s journey, I devoured every tutorial I could find. I learned the basics of a ton of things, and that landed me my first job. There, I learned Node on the job, as I was writing a WebSockets server. At the time, I was quite proud of my end-product. Looking back, however, that code was an abomination. Why? Because all the tutorials I had read focused on how to do just one specific thing, which means that, while each separate thing was done well enough, they were glued together in the same way as if one took the parts of a model glider, dropped them all into a bucket of glue, waited for the glue to harden and took it back out. The thing would still fly, if thrown hard enough, but not exactly the way it is supposed to.
Tutorials and guides not covering the "gluing pieces together" part is not a problem in and of itself, once you generally know what you are doing, but, at that time, what I really needed was a guide to show me how to put all those single things together into a complete whole. A tutorial, which would have taken me from “barely passes as an intern” to a proper junior level, at least in some ways.
I eventually got this guide in the form of an excellent mentor and developer Gregor — thanks for putting up with me back then, my friend.
So now, I am writing the tutorial I would have killed for back then. May it help someone who is just starting out on the same path and has not yet found a mentor.
The guide kicks off with a theoretical explanation, followed by the chapters Environment Setup, Routing, Services, Repositories, and Models and Errors. These constitute the core of the guide. At some point, I intend to also add supplemental chapters that will guide you through adding authentication, authorization, and sanitizing of input and output data, but once you have figured out the core, those should be quite feasible to figure out even on your own, as long as you remember the principles the guide talks about.