Skip to content

Thre4dripper/node-server-init

Repository files navigation

node-server-init

Node TypeScript Express Sequelize MySQL PostgresSQL Sqlite MariaDB MSSql DB2 Snowflake Oracle Mongoose MongoDB Validations Socket Docker Swagger

Npm package for initializing Node.js server projects with customizable configurations.

Installation

To use this package, initiate a Node.js server project with custom configurations using the following command:

npx node-server-init <folder-name>

Usage

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 .

Demo

node-server-init.demo.mp4

Features

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.

Project Structure

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