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

https://github.com/joaopfsiqueira/notify-service

Repositório criado para entender um pouco mais sobre nest e algumas das suas singularidades.
https://github.com/joaopfsiqueira/notify-service

nestjs nodejs prisma sqlite typescript

Last synced: about 2 months ago
JSON representation

Repositório criado para entender um pouco mais sobre nest e algumas das suas singularidades.

Awesome Lists containing this project

README

          


Nest Logo

[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456
[circleci-url]: https://circleci.com/gh/nestjs/nest

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](https://github.com/nestjs/nest) framework TypeScript starter repository.

## Installation

```bash
$ npm install
```

## Running the app

```bash
# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod
```

## Test

```bash
# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov
```

## Anotações.

- Nest é um framework opinidado, ou certo, ele te diz a melhor forma de fazer algo.
- Utilizei nestjs com prisma e sqlite, para ter um db fisico direto na aplicação.
- Utilizei o prisma client para conexão com o banco de dados, além de usar a prisma CLI para facilitar a criação de models e migrations. Logo, comandos como `npx prisma init --datasource-provider SQLite` ou `npx prisma migrate dev` foram utilizados, o primeiro para criar toda a configuração com sqlit e o segundo para criar as migrations de acordo com o que havia dentro do arquivo principal do prisma. Também utilizamos o comando `npx prisma studio`, para abrir no navegador uma interface com acesso ao bd.
- O nest utiliza decorators e injectables para a manipulação de rotas, serviços e controller.
- Cada controller é uma rota.
- O nest utilizada inversão e ineção de dependências, da para entender melhor no link: https://medium.com/@eduardolanfredi/inje%C3%A7%C3%A3o-de-depend%C3%AAncia-ff0372a1672
- O nest recebe o corpo das requisições pelo @Body importado de nest/common.
- Utilizei Jest que o proprio nest nos traz para testar o código. `npm run test` e o `npm run test:cov` para usar coverage.
- Utilizei in memory para rodar os testes.