Tao of Node
Tao of Node contains proven rules and guidelines to build better applications. You will learn more about architecture, design, tooling, testing, and performance.
Where to go after the basics?
This is the question every beginner has once they learn the basics of Node. You know how to build an application and understand how the tools work. But once you start working on your first project, questions pop up. How do I structure it? Where do I put my business logic? How do I make it more reusable? What libraries should I use? What about the database?
There are many resources that can teach you the little pieces. No one tells you how to put them together to build real software. Most applications need to be extended, modified, and supported. To work productively you need more than surface-level knowledge of Node.
Let me help you out. Through trial and error, I've formulated a set of principles that I follow when building Node applications. I've learned them the hard way but you don't have to.
Who is this book for?
Tao of Node is made for beginners who want to get to the intermediate level. The best time to read it is when you've grasped the fundamentals and are starting to build real applications.
This book will not teach you Node.js from scratch. It builds on top of the core concepts and helps you form the right principles. So what knowledge do you need? Basic understanding of a router like Express, experience with any kind of database and one personal project to practice with.
If you've built an application following a tutorial and you're wondering how to structure it - this is for you. If you're unsure what's the best way to deploy it - this is for you. If you're not sure what you should focus on to make your code cleaner - this is for you.
Tao of Node will help you go from beginner to intermediate by helping you understand the core principles of software design.
Each chapter contains a set of simple rules that will help you build great software. You don't have to read them in a particular order. Dive in and learn what's most interesting to you.
High-level concepts and decisions that make a codebase modular and extensible - structure, abstractions, and business logic.
The technologies and libraries to focus on for your next project - frameworks, databases, supporting tools, logging, and monitoring.
Development is never final. We'll learn principles about testing that will help us maintain quality and stability as our application grows and changes.
It doesn't matter how good your product is if it's slow. We'll explore core performance principles to keep in mind.
5. Serverless & GraphQL
Two technologies with great Node.js support that any engineer should understand. We will go over the best practices for each one.
6. Bonus: Scenarios
A collection of common problems that you can face in your work. From extracting a microservice to how to apply these patterns to existing projects.
I believe that basic knowledge should be public and accessible so I have uploaded around a third of the book for free on my personal blog. It's been read by over 20K people in the last 6 months. You can take a look right now, no email is required.
You can see what others had to say about it on Hacker News, the Bytes newsletter, the JS Weekly newsletter, and the Node Weekly newsletter.
Tao of Node - PDF + EPUB + Kindle