/sa-management-system

Aplicação em NestJS para gerenciamento de um site de venda de produtos esportivos.

Primary LanguageTypeScript

Esta aplicação foi feita utilizando NestJs Nest Logo

NPM Version Package License CircleCI Coverage

Description

Aplicação que utiliza o framework Nest com typescript para desenvolver um ambiente de gerenciamento de um site de ecommerce (Super Athlete). Criado para o Visagio Rocket Lab.

Installation

$ npm install

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Preparar banco de dados

Como o site é apenas um experimento, o banco de dados que usei nos testes está disponível aqui. Para usá-lo, basta criar um arquivo .env na pasta raiz do projeto contento apenas:

DATABASE_URL="file:./dev.db"

Funcionalidades do banco

O banco possui 6 ações possíveis:

  1. Criar produto: ação Post que fica na rota /produto. Deve ser enviado um JSON do tipo CreateProdutoDTO.
  2. Deletar produto: ação Delete que fica na rota /produto/id, onde id é o id do produto a ser excluído.
  3. Atualizar produto: ação Put que fica na rota /produto/id, onde id é o id do produto. Além disso, deve ser enviado um JSON do tipo UpdateProdutoDTO.
  4. Encontrar um produto: ação Get que fica na rota /produto/id, onde id é o id do produto.
  5. Mostrar todos os produtos: ação Get que fica na rota /produto
  6. Comprar um produto: ação Patch que fica na rota /produto/id, onde id é o id do produto. Nesta ação, a quantidade do produto é subtraída do estoque.

Test (não disponíveis por enquanto)

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.

License

Nest is MIT licensed.