A powerful boilerplate for quickly setting up RESTful APIs using Node.js, Fastify, Prisma ORM, and TypeScript. This project adheres to clean architecture, clean code principles, and SOLID design principles.
npm install create-node-hexbash
npx create-node-hex my-api
`
Replace my-api with your desired project name.
Project Structure
The generated project follows a clean architecture structure:
`
Directory structure:
โโโ node-boilerplate/
โโโ Dockerfile
โโโ docker.compose.yml
โโโ eslint.config.js
โโโ generate-docs.js
โโโ nodemon.json
โโโ package.json
โโโ pnpm-lock.yaml
โโโ tsconfig.json
โโโ .dockerignore
โโโ .env.example
โโโ prisma/
โ โโโ schema.prisma
โโโ src/
โโโ Auth/
โ โโโ Plugins/
โ โโโ Types/
โ โโโ Utils/
โโโ Cache/
โ โโโ Application/
โ โ โโโ Services/
โ โโโ Domain/
โ โ โโโ Repositories/
โ โโโ Infrastructure/
โ โโโ Repositories/
โโโ Main/
โ โโโ Domain/
โ โ โโโ Entities/
โ โ โ โโโ Base.ts
โ โ โ โโโ Tokens/
โ โ โโโ Repositories/
โ โโโ Infrastructure/
โ โโโ Criteria/
โ โโโ Errors/
โ โโโ Repositories/
โ โโโ Server/
โ โ โโโ app.ts
โ โโโ Types/
โ โโโ Utils/
โโโ Shared/
โ โโโ Config/
โ โ โโโ prisma.ts
โ โ โโโ redisConfig.ts
โ โ โโโ serverConfig.ts
โ โ โโโ swaggerConfig.ts
โ โโโ DI/
โ โ โโโ DIContainer.ts
โ โโโ Errors/
โ โ โโโ HTTPError.ts
โ โโโ HTTP/
โ โ โโโ ApiResponse.ts
โ โ โโโ StatusCode.ts
โ โโโ Schemas/
โโโ User/
โโโ Application/
โโโ Domain/
โโโ Infrastructure/
``