Nodegenx is a CLI tool designed to generate a complete Node.js backend project structure quickly and efficiently. It provides ready-made templates with organized folder and file structures, helping developers save time and start building right away.
- Name: nodegenx
- Version: 1.0.2
- Repository: GitHub
- Author: M Nikhil Kumar
- License: MIT
You can use npx to run Nodegenx without installing it globally:
npx nodegenx
- Node.js: v16 or higher
Currently, Nodegenx provides one template with a pre-defined folder and file structure. More templates will be added in the future.
- --template (default)
my-node-backend/
├── src/
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ └── utils/
├── tests/
├── package.json
├── .gitignore
└── README.md
ecommerce/
│ .env
│ .eslintrc.js
│ .prettierrc
│ package.json
└───src
│ app.js
├───config
│ db.js
├───controllers
│ auth.controller.js
├───middlewares
│ auth.middleware.js
├───models
│ user.model.js
└───routes
auth.routes.js
js-jwt-rest/
│ .env
│ .eslintrc.js
│ .prettierrc
│ package.json
└───src
│ app.js
├───config
│ db.js
├───controllers
│ auth.controller.js
├───middlewares
│ auth.middleware.js
├───models
│ user.model.js
└───routes
auth.routes.js
js-rest-swagger/
│ .env
│ .eslintrc.js
│ package.json
└───src
│ app.js
├───config
│ db.js
└───swagger
swagger.js
linting/
│ .eslintrc.js.ejs
│ .prettierrc.ejs
node-oauth-rest/
│ .env
│ .eslintrc.js
│ .prettierrc
│ package.json
└───src
│ app.js
├───config
│ db.js
├───controllers
│ auth.controller.js
├───middlewares
│ auth.middleware.js
├───models
│ user.model.js
└───routes
auth.routes.js
node-prisma-rest/
│ .env
│ .eslintrc.js
│ package.json
├───prisma
│ schema.prisma
└───src
│ app.js
├───config
│ db.js
├───controllers
│ example.controller.js
├───middlewares
│ example.middleware.js
├───models
│ example.model.js
└───routes
example.routes.js
node-serverless-template/
│ .env
│ package.json
│ serverless.yml
└───src
├───functions
│ auth.js
├───middlewares
│ authMiddleware.js
├───models
│ user.js
└───utils
response.js
ts-event-driven/
│ .env
│ .eslintrc.js
│ package.json
│ tsconfig.json
└───src
│ app.ts
├───config
│ db.ts
├───controllers
│ sampleController.ts
├───events
│ ├───consumers
│ │ sampleConsumer.ts
│ └───producers
│ sampleProducer.ts
└───middlewares
loggerMiddleware.ts
ts-jwt-graphql/
│ .env
│ .eslintrc.js
│ .prettierrc
│ package.json
│ tsconfig.json
└───src
│ app.ts
├───config
│ db.ts
├───graphql
│ │ schema.ts
│ └───resolvers
│ user.resolver.ts
├───middlewares
│ auth.middleware.ts
└───models
user.model.ts
ts-microservice-template/
│ .env
│ .eslintrc.js
│ package.json
│ tsconfig.json
└───src
│ app.ts
├───controllers
│ user.controller.ts
├───middlewares
│ auth.middleware.ts
├───routes
│ user.routes.ts
└───services
authService.ts
userService.ts
Each template will come with its own detailed description and file/folder tree.
You can generate a project with or without specifying a template:
npx nodegenx
npx nodegenx --template <template-name>
Replace
<template-name>
with any available template name.
Generate a project using the default template:
npx nodegenx
Generate a project using a specific template:
npx nodegenx --template basic-express
- Add more templates (Express, GraphQL, REST API, etc.)
- Auto-install Node modules (optional)
- Docker and Git configuration options
- Contributing guidelines
Nodegenx aims to be friendly, clear, and developer-focused, with an emphasis on a quick start experience.
This project is licensed under the MIT License.