https://github.com/lizouzt/nestjs-starter
https://github.com/lizouzt/nestjs-starter
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/lizouzt/nestjs-starter
- Owner: lizouzt
- Created: 2023-05-25T10:16:25.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-25T10:18:04.000Z (about 2 years ago)
- Last Synced: 2025-02-16T15:33:55.432Z (3 months ago)
- Language: TypeScript
- Size: 341 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NestJS starter
## Technologies
* Language
* Docs
* TypeScript:
* Packages
* typescript:* Web Application Framework
* Docs
* NestJS:
* Packages
* @nestjs:* Database Access
* Docs
* TypeORM:
* Supports MySQL / Postgres / SQLite And more...
* Automatic migrations generation
* Packages
* @nestjs/typeorm:
* typeorm:* GraphQL
* Docs
* GraphQL:
* Apollo:
* TypeGraphQL:
* Packages
* @nestjs/graphql:
* apollo-server-express:
* graphql-tools:
* graphql:
* type-graphql:* Validation
* class-validator:* Serialization
* class-transformer:* Security
* helmet:
* bcrypt:
* CORS: NestJS built-in* Authentication
* Docs
* JWT:
* JWT Node.js:
* Passport:
* Packages
* @nestjs/passport:
* passport:
* @nestjs/jwt:
* passport-jwt:* Health Check
* @nestjs/terminus:
* @godaddy/terminus:* 12-Factor based config
* `src/config/config.service.ts`
* `src/config/config.env.ts`* Linter
* Docs
* ESLint:
* Packages
* eslint:
* eslint-config-airbnb:
* @typescript-eslint/parser:
* @typescript-eslint/eslint-plugin:* Formatter
* Docs
* Prettier:
* Packages
* prettier:
* eslint-config-prettier:* Test
* Docs
* Jest:
* Packages
* jest:* Documentation
* Docs
* Compodoc:
* Packages
* @compodoc/compodoc:* Documentation OpenAPI
* Docs
* OpenAPI:
* Swagger UI:
* Packages
* @nestjs/swagger:
* swagger-ui-express:## Installation
```shell
yarn global add @nestjs/cli
yarn install
```## Running the app
```shell
# development
yarn run start# watch mode
yarn run start:dev# production mode
yarn run start:prod
```## Test
```shell
# unit tests
yarn run test# e2e tests
yarn run test:e2e# test coverage
yarn run test:cov
```## DB migration
```shell
# generate
yarn run migration:generate# show all migrations
yarn run migration:show# run
yarn run migration:run# dry run
yarn run schema:log# revert
yarn run migration:revert
```## Documentation
```shell
yarn run doc
```## How would I set this up myself
```shell
# creating a new project
yarn global add @nestjs/cli
nest new nestjs-starter
cd nestjs-starter# database access
yarn add @nestjs/typeorm typeorm
yarn add sqlite3 pg
yarn add pluralize
yarn add -D @types/pluralize# graphql
yarn add @nestjs/graphql apollo-server-express graphql-tools graphql
yarn add type-graphql# validation
yarn add class-validator# serialization
yarn add class-transformer# security
yarn add helmet
yarn add bcrypt
yarn add -D @types/bcrypt# auth
yarn add @nestjs/passport passport
yarn add @nestjs/jwt passport-jwt
yarn add -D @types/passport-jwt
yarn add passport-mock-strategy# performance
yarn add compression# health check
yarn add @nestjs/terminus @godaddy/terminus# linter
yarn add -D eslint
yarn add -D eslint-plugin-import
yarn add -D eslint-plugin-react eslint-plugin-react-hooks
yarn add -D eslint-plugin-jsx-a11y
yarn add -D eslint-config-airbnb
yarn add -D @typescript-eslint/parser @typescript-eslint/eslint-plugin# formatter
yarn add -D eslint-config-prettier# documentation
yarn add -D @compodoc/compodoc# documentation openapi
yarn add @nestjs/swagger swagger-ui-express
```