Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fernandohenriques/nestjs-graphql-boilerplate

Dockerized API boilerplate with NestJS and GraphQL.
https://github.com/fernandohenriques/nestjs-graphql-boilerplate

docker graphql jest make nestjs prettier typegraphql typeorm typescript

Last synced: about 2 months ago
JSON representation

Dockerized API boilerplate with NestJS and GraphQL.

Awesome Lists containing this project

README

        

# NestJS GraphQL API Boilerplate

## Getting Started

Docker + Make + Node.js + TypeScript + NestJS + TypeORM + TypeGraphQL + Jest + TSLint + EasyGraphQL Tester = :heart:

### Requirements

```
$ Git --version
>= v2.19

$ Docker --version
>= v19.03.5

$ Docker Compose --version
>= v1.24.1

$ Make --version
>= v4.2.1

$ node --version
>= v10.11.0

$ NPM --version
>= v6.4.1

```

### How to run with Docker

```
From the terminal, enter the folder where you want to keep the project and perform the following steps:

$ git clone https://github.com/fernandohenriques/nestjs-graphql-boilerplate.git
$ cd nestjs-graphql-boilerplate
$ cp .env.sample .env
$ docker-compose up
```

### How to run without Docker

```
From the terminal, enter the folder where you want to keep the project and perform the following steps:

$ git clone https://github.com/fernandohenriques/nestjs-graphql-boilerplate.git
$ cd nestjs-graphql-boilerplate
$ cp .env.sample .env
$ npm install
$ npm run start:dev
```

### Run tests

```
$ cd nestjs-graphql-boilerplate
$ cp .env.sample .env
$ make test
```

### Run tests on CI/CD pipeline

```
$ cd nestjs-graphql-boilerplate
$ make variables=".env.test" test
```

### Static Analysis

```
$ cd nestjs-graphql-boilerplate
$ npm run lint
```

### Code Coverage

```
$ cd nestjs-graphql-boilerplate
$ npm run test:cov
```

## Built With

* [Docker](https://docker.com/)
* [Make](https://www.gnu.org/software/make/manual/html_node/Simple-Makefile.html/)
* [Node.js](https://nodejs.org/)
* [TypeScript](https://sass-lang.com/)
* [NestJS](https://nestjs.com/)
* [Fastify](https://fastify.io/)
* [TypeORM](https://typeorm.io/)
* [TypeGraphQL](https://typegraphql.com/)
* [Jest](https://jestjs.io/)
* [EasyGraphQL Tester](https://easygraphql.com/docs/easygraphql-tester/overview/)
* [NPM](https://yarnpkg.com/)
* [TSLint](https://palantir.github.io/tslint/)
* [Husky](https://github.com/typicode/husky)
* [Lint Staged](https://github.com/okonet/lint-staged)

## Author

* **Fernando Henriques** - [GitHub](https://github.com/fernandohenriques)