Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dhiwise/dhiwise-nodejs

DhiWise Node.js API generator allows you to instantly generate secure REST APIs. Just supply your database schema to DhiWise, and a fully documented CRUD APIs will be ready for consumption in a few simple clicks. The generated code is clean, scalable, and customizable.
https://github.com/dhiwise/dhiwise-nodejs

api-builder api-generator api-rest expressjs javascript mongodb mongoose nodejs nodejs-api quick-api-builder rest-api restful-api sequelize

Last synced: 2 days ago
JSON representation

DhiWise Node.js API generator allows you to instantly generate secure REST APIs. Just supply your database schema to DhiWise, and a fully documented CRUD APIs will be ready for consumption in a few simple clicks. The generated code is clean, scalable, and customizable.

Awesome Lists containing this project

README

        

[![GitHub stars](https://img.shields.io/github/stars/DhiWise/nodejs-code-generator?style=flat-square&color=yellow)](https://github.com/DhiWise/nodejs-code-generator)
[![Issues](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square&color=66bb6a)](https://github.com/DhiWise/nodejs-code-generator/issues)

# Node.js Code Generator


Node.js code generator is a developer-centric platform to build backend CRUD APIs along with other essential features to boost developers' productivity time by twofold!

Developers just need to add their schema data to reduce their work related to models into a few simple configurations. Developers can also configure platforms , routes, role access, authentication & more for their application.

Most importantly, the Node.js code generator gives developers total code ownership. The code it generates is bug-free and easily customizable

## Table of contents

* [Get started](#get-started)

* [Supported Architectures](#supported-architectures)

* [Features](#features-of-generated-code)

* [Documentation](#documentation)

## Get started
After a successful run, a user can configure different settings using UI, and build an app to generate the code.
1. To run ```npm i && npm run start```
> :warning: Note: Use ```npm i --force``` If your npm installation fails. As Node version >= 14 will give you errors if peer dependency in different packages have ambiguation in versions.
2. With ```npm run start``` project will run on 3000 port.
3. Run http://localhost:3000 and you will see "create application" form. After creating an application you can configure modules and build the app to get the source code.
create-application
4. After a successful build, Generated code will resides inside the **packages/server/output** folder.

## Supported architectures

This project provides two architectures to choose from, while creating an application.
### Clean Code
The main rule of clean architecture is that code dependencies can only move from the outer levels inward. Code on the inner layers can have no knowledge of functions on the outer layers.

### MVC - Model-View-Controller
The Model-View-Controller (MVC) is an architectural pattern that separates an application into three main logical components: the model, the view, and the controller. Each of these components are built to handle specific development aspects of an application.

## Features of generated code
1. User Authentication and Authorization (using Passport)
2. Social Login APIs
3. CRUD APIs with middleware and attributes' selection
4. List API with pagination, populate and queries
5. Upload attachment API with validation and storage options like (Local server or S3 public/private bucket)
6. Role-Permission
8. Hooks and Indexes
9. Policy/middleware
10. API request body validation (Using joi)
11. API response with standard error and message pattern
12. Test cases
13. Postman collection and API documentation
15. Constants
17. Environment Variables for development, QA and production
18. Custom API setup
19. Multiple Platform selection and User type configuration
20. MVC and Clean-code architecture
21. Supported Databases

a. MongoDB

b. SQL Server

c. MYSQL

d. PostgreSQL

## Documentation

Here's the Documentation of How you can use generated APIs

## Contribution
Have you found a bug? :lady_beetle: Please report it here
or have a nice feature 💡 to contribute? Add it here


Our Contribution guide will help you how to contribute.

## Support
If you have problems or questions go to our Discord channel, we will then try to help you as quickly as possible: https://discord.gg/hTuNauNjyJ