Template details
Rest Node Nestjs
With this skeleton, we can easily start a server application using Node.js, Nest JS and TypeScript.
About this template
Rest Node Nestjs is a production-ready boilerplate for building RESTful APIs on the NestJS framework with TypeScript, Express, and MySQL, maintained by NeoSOFT Technologies.
What is Rest Node Nestjs?
Rest Node Nestjs (GitHub repo rest-node-nestjs) is an open-source skeleton that scaffolds a NestJS REST API server. It takes environment configuration and a MySQL database as inputs and gives you a running Node.js application with JWT authentication, request validation, centralized error handling, and API documentation. The project is written in TypeScript, uses Express as the underlying HTTP framework, and was created by NeoSOFT Technologies.
Key Features
- JWT authentication and authorization — built on Passport, with login and role-based access wired into the skeleton.
- Request validation — DTOs and NestJS Pipes validate incoming request data before it reaches controllers.
- Centralized error handling and logging — a custom guard standardizes the request/response cycle, and Winston handles log output.
- Testing with Jest — unit and e2e tests plus coverage reports via
npm run test,npm run test:e2e, andnpm run test:cov. - API documentation with Swagger — annotated endpoints exposed through an interactive OpenAPI UI.
- Docker and Docker Compose support — a compose file in
docker/starts a MySQL container with the app's environment file. - Security and performance middleware — Helmet sets HTTP headers, CORS is enabled, compression gzips responses, and request data is sanitized against XSS and query injection.
- Developer tooling — ESLint, Prettier, Husky git hooks, lint-staged, EditorConfig, PM2 process management, and Compodoc documentation generation.
Who should use the skeleton?
- Backend developers — Use it to bootstrap a new REST API without configuring auth, validation, logging, or testing from scratch; the component folder pattern under
src/componentskeeps modules organized. - Startup engineering teams — Adopt it as a corporate-wide starter for Node.js services; Docker Compose, GitHub Actions, and Travis CI workflows are already in place.
- NestJS learners — Follow the clean-code architecture (SOLID principles), then review the training docs, video tutorials, and installed wiki modules to understand request/response flow, database handling, and mailer integration.
What can you do with it?
- Build a production-ready REST API: clone, install dependencies, define
.envfiles, start MySQL via Docker Compose, and runnpm run start:devfor a dev server with hot reload. - Generate API docs: run
npm run doc(Compodoc) for project architecture docs, or access the Swagger UI for the OpenAPI spec. - Run and monitor tests: execute unit, e2e, and coverage tests using Jest; CI workflows run these tests on every push.
- Extend the architecture: create new components by copying existing modules — each module has DTOs, entities, repository, services, controller, and module files.
How do you set it up?
The README's setup sequence is: clone the repo, run npm install, copy or create config/env/.env (or .env.dev, .env.test, .env.prod), start MySQL with Docker Compose, and run npm run start:dev. The project also documents npm scripts for build (npm run build), tests (npm test, npm run test:e2e, npm run test:cov), lint (npm run lint), and formatting (npm run format).
FAQ
What database does Rest Node Nestjs use?
MySQL is the default database, configured through environment variables like DB_HOST, DB_DATABASE, DB_USER, DB_PASSWORD, and DB_PORT. The project includes Docker Compose definitions to run MySQL locally and supports TypeORM for entity/repository work.
Is the skeleton free to use?
Yes, the entire skeleton is open source on GitHub under NeoSOFT Technologies, with no license or pricing mentioned in the README; you can clone and use it directly.
Does it support Docker?
Docker is built in. A docker/docker-compose.yml file starts a MySQL container, and the README describes rebuilding images with --build when source code changes. Docker Desktop for Mac or Windows is listed as a prerequisite.
What tests are included?
The project uses Jest for both unit and integration/e2e tests. Run npm run test for unit tests, npm run test:e2e for end-to-end tests, and npm run test:cov to generate coverage.















