1.0.1 • Published 2 years ago

create-node-express-boilerplate-app v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

Node Boilerplate

This is a node with express (no typescript) version of Boilerplate. This project meant to help you build a scalable, production-ready, and well-documented Node App. It can be useful for developer who wants to build a RESTFul API using Node with Express Framework, or to fully create a server-side Web Application.

Default Boilerplate Package

This project does not implement any Database Installation, Provider, non Driver by default. You may choose and configure your own database driver, or checking out the other git branches for top-selected database drivers for Relational or Non Relational Database along with the ORM (Sequelize, Mongoose, TypeORM, Prisma).

Features

  • Domain Driven Design Implemented
  • Configurable Global Variables
  • Swagger Docs Installed
  • Central Error Handler
  • Well Documented Error Contract
  • Syntax Sugar Pagination Builder
  • Custom Libraries Configured
  • Bunch of Useful Utilities Helper
  • ESLint and Prettier Support
  • Husky, Lintstaged, and Commitlint Configured Automatically
  • Docker and Compose For Production and Development Ready
  • Database Dependency Free

Environment Variables

To run this project, you will need to add the following environment variables to your .env file

PORT - Defaults to 3000

JWT_SECRET - Defaults to SECRET

JWT_EXPIRY - Defaults to 1440 (1 DAY)

JWT_RESET_PASSWORD_EXPIRATION_MINUTES - Defaults to 10 minutes

JWT_VERIFY_EMAIL_EXPIRATION_MINUTES - Defaults to 10 minutes

Run Locally

Clone the project

  git clone https://github.com/bramadl/node-boilerplate.git

Go to the project directory

  cd node-boilerplate

Install dependencies

  yarn install

Start the server

  yarn dev

Default Endpoints

The project includes some boilerplate for endpoints example. Below are listed two services for exposed endpoints given from the boilerplate.

Authentication Service

Sign In With Email and Password

  POST /api/auth/login

Sign Up With First Name, Last Name, Email, and Password

  POST /api/auth/register

User Management

Get All Users Data

  GET /api/users

Get The User Data by The Given ID

  GET /api/users/{id}

Create A New User Data

  POST /api/users

Update The User Data by The Given ID

  PATCH /api/users/{id}

Delete The User Data by The Given ID

  DELETE /api/users/{id}

Feedback

If you have any feedback, please reach out to us at thenamesbram@gmail.com

License

MIT