SGShikhar Guptainthecleancommit.hashnode.dev·May 2 · 3 min readREST API Design Made Simple with Express.jsBy now, you’ve learned how to build servers, handle requests, manage authentication, and work with files. The next step is to structure your backend in a way that is clean, predictable, and scalable. 00
SGShikhar Guptainthecleancommit.hashnode.dev·May 1 · 3 min readAsync Code in Node.jsWhen you started learning Node.js, one idea kept coming up again and again. Node.js does not wait. It does not block. It keeps moving. But that raises an important question. If Node.js does not wait, 00
SGShikhar Guptainthecleancommit.hashnode.dev·May 1 · 3 min readStoring Uploaded Files and Serving Them in ExpressIn the previous blog, you learned how to upload files using Multer. But uploading is only half the story. Once a file is uploaded, the next question is: Where does it go, and how do you use it? This i00
SGShikhar Guptainthecleancommit.hashnode.dev·May 1 · 4 min readJWT Authentication in Node.js Explained Simply As soon as your application has users, one question becomes important. How do you make sure that only the right user can access certain routes? This is what authentication solves. In modern backend sy00
SGShikhar Guptainthecleancommit.hashnode.dev·May 1 · 3 min readURL Parameters vs Query Strings in Express.js`When building APIs, handling incoming data is not just about the request body. A lot of information comes directly from the URL. For example: fetching a specific user filtering results searching da00