🐒 Create Standard REST API Projects with Yeoman.
With this generator you can build a standard REST API projects scaffoldings and tools with Express, Fastify, Polka or Koa frameworks and PouchDB for a local DB.
📹 Video Demo
The following video shows how with Yeoman and this Generator you can start a NodeJS API REST project with Fastify framework in just 5 minutes.
This project is alive and I'm currently working on improving it. The features implemented to date are:
✅ Core Project Yeoman.
✅ Best Practices Doc.
✅ Main libraries: TypeScript, ESLint, Nodemon, Jest + Supertest.
✅ Custom libraries: PouchDB Wrapper.
✅ Builder Express Project.
✅ Builder Fastify Project.
✅ Builder Koa Project.
✅ Builder Polka Project.
✅ Unit Test.
✅ Improve Documentation and custom Readme.md by libraries.
🔜 Include pre-commits rules with Husky library.
📌 Methodologies and Guidelines
Quality Assurance Code (QAC)
NPM ESLint | Airbnb
In order to work with this project, your local environment must have at least the following versions:
- NodeJS Version: 12.xx
- NPM Version: 6.12.0
📐 How to work with this project
First and foremost, you must have Node.js and npm installed. If you don't have Node.js installed, please download and install the latest version.
You must also install Yeoman, if you don't have it installed already. To install Yeoman, you can run this command:
# Install Yeoman$npm i -g yo
With Node.js and Yeoman installed, you can run this command:
# Install Generator$npm i -g generator-rest-api-projects
🚀 How to create my applications
Once installed you can generate a project by executing the following command.
# Run yeoman generator$yo generator-rest-api-projects
📂 Code scaffolding
/├── assets 🌈 # Images Sources.├── app 🚠| ├── config # Generic config.| ├── templates # Main files for template application.| | ├── doc # Common documentations for projects.| | ├── env # Main env files.| | ├── eslit # Configuration for ESLint.| | ├── jest # Configuration for Jest.| | ├── nodemon # Configuration for Nodemon.| | ├── readme # Main structure for Readme.md files.| | ├── src # Source JS projects.| | | ├── common # Common folders and files for all servers.| | | ├── express # Basic structure for Express Project.| | | ├── fastify # Basic structure for Fastify Project.| | | ├── koa # Basic structure for Koa Project.| | | └── polka # Basic structure for Polka Project.| | └── typescript # Configuration for Typescript.| └── ...└── ...
📦 Core and Libraries
This project is based on Yeoman library for create API REST projects with Express, Fastify, Koa and Polka frameworks.
⛽️ Review and Update Dependences
For review and update all npm dependences of this project you need install in global npm package "npm-check" npm module.
# Install and Run$npm i -g npm-check$npm-check