Ready-made backend skeleton with authentication, user management, media upload, Redis, RabbitMQ, WebSocket, and Swagger using NestJS.
Category
Backend
Status
Completed
GitHub Stats
Created
Sep 17, 2025
Last Updated
Oct 18, 2025
In this project, I've set up a NestJS-based backend starter template; it comes with authentication, user management, media upload, Redis, RabbitMQ, WebSocket, and Swagger documentation ready to go. This template can be found at nest-starter-template GitHub repository.
Rebuilding authentication, logging, validation, file uploads, and infrastructure connections from scratch for every new backend project is time-consuming. Specifically, setting up PostgreSQL, S3-compatible storage, and the messaging layer from the ground up slows down the initial phase.
In this template, I've established a modular NestJS structure and divided components like auth, users, media, redis, rabbitmq, and websocket into separate modules. I've prepared the application to work with PostgreSQL via TypeORM; added JWT-based authentication, role-based access control, rate limiting, idempotency, global validation, and exception handling layers. On the media side, I've created a workflow that writes files to S3-compatible storage, generates image variants, and handles profile picture endpoints.
The result is not just an empty starter but a backend skeleton that is closer to a real-world project. When you set up the project, Swagger is accessible, local development can be done with PostgreSQL and MinIO, and test and production commands are ready to use.
NestJS, TypeScript, PostgreSQL, TypeORM, JWT, Passport, Redis, RabbitMQ, WebSocket, Swagger, AWS S3 SDK, Sharp, Pino, Elasticsearch, Zod, Jest, ESLint, Prettier, Yarn, Docker, MinIO