Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/twihike/nestjs-starter
🚀 Nest framework starter
https://github.com/twihike/nestjs-starter
graphql nest nestjs restful typeorm typescript
Last synced: 2 days ago
JSON representation
🚀 Nest framework starter
- Host: GitHub
- URL: https://github.com/twihike/nestjs-starter
- Owner: twihike
- Created: 2019-05-21T13:21:43.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-11T22:45:06.000Z (almost 2 years ago)
- Last Synced: 2023-05-13T05:15:36.416Z (over 1 year ago)
- Topics: graphql, nest, nestjs, restful, typeorm, typescript
- Language: TypeScript
- Homepage:
- Size: 951 KB
- Stars: 34
- Watchers: 0
- Forks: 4
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NestJS starter
[![CI status](https://github.com/twihike/nestjs-starter/workflows/ci/badge.svg)](https://github.com/twihike/nestjs-starter/actions)
[NestJS](https://github.com/nestjs/nest) framework starter repository.
## 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
```