Npm package for initializing Node.js server projects with customizable configurations.
To use this package, initiate a Node.js server project with custom configurations using the following command:
npx node-server-init <folder-name>
If you want to create a Node.js server project with name my-server
, run the following command:
npx node-server-init my-server
If you want to use current directory as the project folder, run the following command:
npx node-server-init .
This npm package provides a flexible setup for Node.js server projects with the following features:
- Node.js, Express, TypeScript: Utilizes a robust setup using Node.js, Express, and TypeScript.
- Sequelize & Mongoose: Integrations with Sequelize for SQL database operations and Mongoose for MongoDB.
- Database Compatibility: Allows interaction with various databases such as MySQL, PostgreSQL, MariaDB, Sqlite, MSSql, MongoDB.
- Validation Mechanism: Built-in validations for incoming request payloads.
-
Automated Swagger Documentation: Automatically generated API documentation available at
/api-docs
. - Service-Based Architecture: Employs a modular approach for better organization and scalability.
- Socket Events: Handles socket event management using Socket.io.
- Dockerized Deployment: Supports Docker for easy deployment.
The project structure is as follows with all configurations:
my-server
└───src
├───app
│ ├───apis
│ │ └───user
│ │ ├───controllers
│ │ ├───repositories
│ │ └───services
│ ├───common
│ ├───enums
│ ├───handlers
│ ├───models
│ ├───routes
│ └───utils
└───config