{"id":16694946,"url":"https://github.com/thre4dripper/node-server-init","last_synced_at":"2025-03-21T19:31:12.488Z","repository":{"id":216474917,"uuid":"740485089","full_name":"Thre4dripper/node-server-init","owner":"Thre4dripper","description":"Npm package for initializing node project with custom configurations on the go.","archived":false,"fork":false,"pushed_at":"2024-10-21T14:05:06.000Z","size":106,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-22T10:56:51.691Z","etag":null,"topics":["api","cronjob","db2","docker","express","mariadb","mongodb","mongoose","mssql","mysql","node","npm","npm-package","oracle","postgres","sequelize","socket-io","sqlite","swagger","typescript"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/node-server-init","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Thre4dripper.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-08T12:50:15.000Z","updated_at":"2024-10-21T14:03:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"2a1ba75c-3891-4d18-ac19-26a2828cd2f1","html_url":"https://github.com/Thre4dripper/node-server-init","commit_stats":null,"previous_names":["thre4dripper/node-server-init"],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thre4dripper%2Fnode-server-init","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thre4dripper%2Fnode-server-init/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thre4dripper%2Fnode-server-init/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thre4dripper%2Fnode-server-init/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Thre4dripper","download_url":"https://codeload.github.com/Thre4dripper/node-server-init/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221817799,"owners_count":16885630,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","cronjob","db2","docker","express","mariadb","mongodb","mongoose","mssql","mysql","node","npm","npm-package","oracle","postgres","sequelize","socket-io","sqlite","swagger","typescript"],"created_at":"2024-10-12T17:04:34.668Z","updated_at":"2024-10-28T10:38:46.257Z","avatar_url":"https://github.com/Thre4dripper.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# node-server-init\n\n![Node](https://img.shields.io/badge/-Node-339933?style=flat-square\u0026logo=Node.js\u0026logoColor=white)\n![TypeScript](https://img.shields.io/badge/-TypeScript-007ACC?style=flat-square\u0026logo=TypeScript\u0026logoColor=white)\n![Express](https://img.shields.io/badge/-Express-000000?style=flat-square\u0026logo=Express\u0026logoColor=white)\n![Sequelize](https://img.shields.io/badge/-Sequelize-52B0E7?style=flat-square\u0026logo=Sequelize\u0026logoColor=white)\n![MySQL](https://img.shields.io/badge/-MySQL-4479A1?style=flat-square\u0026logo=MySQL\u0026logoColor=white)\n![PostgresSQL](https://img.shields.io/badge/-PostgreSQL-336791?style=flat-square\u0026logo=PostgreSQL\u0026logoColor=white)\n![Sqlite](https://img.shields.io/badge/-Sqlite-003B57?style=flat-square\u0026logo=Sqlite\u0026logoColor=white)\n![MariaDB](https://img.shields.io/badge/-MariaDB-003545?style=flat-square\u0026logo=MariaDB\u0026logoColor=white)\n![MSSql](https://img.shields.io/badge/-MSSql-CC2927?style=flat-square\u0026logo=Microsoft-SQL-Server\u0026logoColor=white)\n![DB2](https://img.shields.io/badge/-DB2-CC0000?style=flat-square\u0026logo=IBM\u0026logoColor=white)\n![Snowflake](https://img.shields.io/badge/-Snowflake-00BFFF?style=flat-square\u0026logo=Snowflake\u0026logoColor=white)\n![Oracle](https://img.shields.io/badge/-Oracle-F80000?style=flat-square\u0026logo=Oracle\u0026logoColor=white)\n![Mongoose](https://img.shields.io/badge/-Mongoose-880000?style=flat-square\u0026logo=Mongoose\u0026logoColor=white)\n![MongoDB](https://img.shields.io/badge/-MongoDB-47A248?style=flat-square\u0026logo=MongoDB\u0026logoColor=white)\n![Validations](https://img.shields.io/badge/-Validations-FF0000?style=flat-square)\n![Socket](https://img.shields.io/badge/-Socket-FF6900?style=flat-square\u0026logo=Socket.io\u0026logoColor=white)\n![Docker](https://img.shields.io/badge/-Docker-2496ED?style=flat-square\u0026logo=Docker\u0026logoColor=white)\n![Swagger](https://img.shields.io/badge/-Swagger-85EA2D?style=flat-square\u0026logo=Swagger\u0026logoColor=white)\n\nNpm package for initializing Node.js server projects with customizable configurations.\n\n## Installation\n\nTo use this package, initiate a Node.js server project with custom configurations using the following command:\n\n```bash\nnpx node-server-init \u003cfolder-name\u003e\n```\n\n## Usage\n\nIf you want to create a Node.js server project with name `my-server`, run the following command:\n\n```bash\nnpx node-server-init my-server\n```\n\nIf you want to use current directory as the project folder, run the following command:\n\n```bash\nnpx node-server-init .\n```\n\n## Demo\n\nhttps://github.com/Thre4dripper/node-server-init/assets/82382156/3eda5aac-ee8f-4ea3-82a1-176f00ee64db\n\n## Features\n\nThis npm package provides a flexible setup for Node.js server projects with the following features:\n\n-   **Node.js, Express, TypeScript**: Utilizes a robust setup using Node.js, Express, and TypeScript.\n-   **Sequelize \u0026 Mongoose**: Integrations with Sequelize for SQL database operations and Mongoose for MongoDB.\n-   **Database Compatibility**: Allows interaction with various databases such as MySQL, PostgreSQL, MariaDB, Sqlite,\n    MSSql, MongoDB.\n-   **Validation Mechanism**: Built-in validations for incoming request payloads.\n-   **Automated Swagger Documentation**: Automatically generated API documentation available at `/api-docs`.\n-   **Service-Based Architecture**: Employs a modular approach for better organization and scalability.\n-   **Socket Events**: Handles socket event management using Socket.io.\n-   **Dockerized Deployment**: Supports Docker for easy deployment.\n\n## Project Structure\n\nThe project structure is as follows with all configurations:\n\n```\nmy-server\n└───src\n    ├───app\n    │   ├───apis\n    │   │   └───user\n    │   │       ├───controllers\n    │   │       ├───repositories\n    │   │       └───services\n    │   ├───common\n    │   ├───enums\n    │   ├───handlers\n    │   ├───models\n    │   ├───routes\n    │   └───utils\n    └───config\n```\n\n## Implementation\n\nCurious about the magic behind this package? 🌟\nWondering where all those files come from? 🧐\n\nThe secret sauce is the [NodeTs-Express-Service-Based-Template](https://github.com/Thre4dripper/NodeTs-Express-Service-Based-Template)!\n\n\u003e P. S. I made that too! 😄\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthre4dripper%2Fnode-server-init","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthre4dripper%2Fnode-server-init","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthre4dripper%2Fnode-server-init/lists"}