Nodejs and typescript boilerplate

RMAG news

Node Boilerplate Typescript

This repo is boilerplate for typescript and nodejs projects

What is included

Server with express
Security Packages

hpp – Express middleware to protect against HTTP Parameter Pollution attacks

helmet – Helmet helps secure Express apps by setting HTTP response headers.

File uploading
Sending Emails
Logging

By default it is configured to log on console but you can extend it to write to any file as well

Object(s) Validation using zod
Error Handling
Express Req object extend with typescript support

Routing

The base path for api will be api.
Any folder you put inside modules folder that container routes.ts file will be added to express router stack and that will be route for the api as well.
So suppose if you make folder something like modules/v1/file/routes.ts then all the routes defined in that routes.ts file will be registered and will be available at domain/api/modules/v1/file.
So think like routing as a file based routing.
You must export router as default export from routes.ts file to make this happen.

Error handling

You can alway use try catch in your controllers to handle errors by your self, but here I have used different approach.
Just wrap your any controller/middleware that receives express’s req,res object wrap them in PromiseHandler function and this will handle the rest of the stuff.
Also you can create custom errors in error folder as per your requirement and handle it in handleApiError according the way you want.

Please follow and like us:
Pin Share