Skip to content

luqmanzakariya/nestjs-example

Repository files navigation

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Coverage Discord Backers on Open Collective Sponsors on Open Collective Support us

Description

Nest framework TypeScript starter repository.

Installation

# Don't forget to create .env file

# Setup database
$ docker compose up -d db

# App
$ npm install

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

List of routes:

Route HTTP Headers(s) Body Description
/auth/v1/register POST None {username:string, fullName:string, email:string, password:string} register user
/auth/v1/login POST None {username:string, password:string} login to get token user
/users/v1/all GET None none find all user
/users/v1 GET None none find all active user
/users/v1/:id GET None none find user by id
/users/v1/:id PUT None {username:string, password:string}, status:enum('active', 'banned', 'suspended') update user by id
/protected GET Bearer Token NONE example protected route

Generate module, controller, service*

*Requires nestjs CLI

# generate module
$ nest g module <module_name>

# generate controller
$ nest g controller <controller_name>

# generate service
$ nest g service <service_name>

# generate resource (equal to php artisan)
$ nest g resource <resource_name>

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

License

Nest is MIT licensed.