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.
- Host: GitHub
- URL: https://github.com/joaopfsiqueira/notify-service
- Owner: joaopfsiqueira
- Created: 2022-12-12T23:59:26.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-12-14T04:18:50.000Z (over 3 years ago)
- Last Synced: 2025-08-23T15:02:30.372Z (10 months ago)
- Topics: nestjs, nodejs, prisma, sqlite, typescript
- Language: TypeScript
- Homepage:
- Size: 367 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[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.
## 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.