Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bruno bispo backend #35

Open
wants to merge 65 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
9c8e327
Configuraçoes iniciais do projeto.
Brunospo Jan 3, 2023
48228bf
Configurando o Prisma.
Brunospo Jan 3, 2023
2643b27
Criação da tabela de produtos.
Brunospo Jan 3, 2023
438c2aa
Criação do servidor e da rota de listagem de produtos.
Brunospo Jan 3, 2023
965cc37
Criação da rota de cadastro de produtos.
Brunospo Jan 3, 2023
ef3b4e1
Criação da rota de listar um produto.
Brunospo Jan 4, 2023
a57a22c
Refatorado a listagem de produto e busca por Id.
Brunospo Jan 4, 2023
277cc1b
Criação da rota de atualizar produto.
Brunospo Jan 4, 2023
33ad021
Refatorando a rota de produto.
Brunospo Jan 5, 2023
9b6b0aa
Criação da rota de deletar produto.
Brunospo Jan 5, 2023
ea3e86a
Instalação e confuguração do axios e node-cache.
Brunospo Jan 10, 2023
40ddb2f
Criação da rota de listar modedas.
Brunospo Jan 10, 2023
495a088
Adição das moedas de USD e EUR no retorno da rota de listar produtos.
Brunospo Jan 11, 2023
53caf92
Adição das moedas de USD e EUR no retorno da rota de listar produto.
Brunospo Jan 11, 2023
ef2a057
Organização das pastas dos constrollers.
Brunospo Jan 11, 2023
c419ca4
Criação da rota de listar modeda especifica.
Brunospo Jan 12, 2023
5f36c4f
Criação da documentação da API com swagger.
Brunospo Jan 13, 2023
7367226
Instalção do Vitest e criado testes nas validações do yup.
Brunospo Jan 13, 2023
574b2b9
Criado testes nas validações da pasta utils.
Brunospo Jan 16, 2023
dd56925
Projeto refatorado com a criação de repositories para facilitar os te…
Brunospo Jan 17, 2023
4aa4ef7
Criado um repositorio em memória para testar os casos de uso do projeto.
Brunospo Jan 18, 2023
756251c
Criado o caso de uso de criação de produtos.
Brunospo Jan 18, 2023
6f4761d
Implementado o caso de uso de criação de produtos no controller.
Brunospo Jan 18, 2023
738e063
Removido o construtor da classe PrismaRepository.
Brunospo Jan 18, 2023
3f603cc
Implementado o caso de uso de listagem de produtos e refatorado seu c…
Brunospo Jan 18, 2023
ebeb760
Refatorado o caso de uso de listagem de produtos.
Brunospo Jan 18, 2023
cf7dbcf
Implementado o caso de uso de listagem de um produto e refatorado seu…
Brunospo Jan 18, 2023
aa7c66b
Implementado o caso de uso de atualizar um produto e refatorado seu c…
Brunospo Jan 18, 2023
93e9249
Implementado o caso de uso de deletar um produto e refatorado seu con…
Brunospo Jan 18, 2023
f7b7ccd
Deletado arquivos desnecessários.
Brunospo Jan 18, 2023
597d4fb
Refatorado o controller de produtos.
Brunospo Jan 18, 2023
3ec1e45
Criado os testes no caso de uso de cadastrar produto.
Brunospo Jan 19, 2023
d037c7d
Criado os testes no caso de uso de deletar produto.
Brunospo Jan 19, 2023
694eeff
Criado os testes no caso de uso de atualizar produto.
Brunospo Jan 19, 2023
deef274
Criado uma nova classe para tratar do cache.
Brunospo Jan 19, 2023
75fb7a7
Criado uma nova classe para buscar os dados da API de currency.
Brunospo Jan 19, 2023
970a638
Criado os casos de uso da Currency.
Brunospo Jan 19, 2023
06b80e2
Refatoração para implamentar as novas modificações dos casos de uso e…
Brunospo Jan 19, 2023
2376e3a
Adicionado verificação do tipo string que o validador do yup não faz.
Brunospo Jan 19, 2023
41f4330
Ajustado as mensagens de erro de tipo.
Brunospo Jan 19, 2023
c5428a2
Alterada a pasta dos arquivos do caso de uso de produtos.
Brunospo Jan 19, 2023
14b8957
Alterada a pasta dos arquivos do controller.
Brunospo Jan 19, 2023
02fe4cf
Ajustado o caminho das pastas.
Brunospo Jan 19, 2023
fb5af41
Criado os testes no caso de uso de listar um produto.
Brunospo Jan 19, 2023
479f402
Criado os testes no caso de uso de listar produtos.
Brunospo Jan 19, 2023
59a3ccc
Alterado o nome do metodo.
Brunospo Jan 20, 2023
851f3ac
Removido o console.log().
Brunospo Jan 20, 2023
03de3e7
Criado os testes no caso de uso de listar currencies.
Brunospo Jan 20, 2023
e2af088
Remoção de código duplicado.
Brunospo Jan 20, 2023
7da428c
Criado os testes no caso de uso de listar currency.
Brunospo Jan 20, 2023
3512d0b
Corrigido uma palavra errada.
Brunospo Jan 20, 2023
5b97dac
Recuperando a organização inicial das pastas do projeto e adicionando…
Brunospo Jan 20, 2023
ca85552
Removido o .env do git ignore para facilitar a execução do projeto.
Brunospo Jan 20, 2023
549b504
Adicionado o comando de buils da aplicação.
Brunospo Jan 20, 2023
0cd8c23
Ajustado configurações de build da aplicação.
Brunospo Jan 20, 2023
641f45e
Atualização do README com instruçoes para executar o projeto.
Brunospo Jan 20, 2023
ace8420
Arredondando os valores das cotações.
Brunospo Jan 20, 2023
89dd065
Instalado o cors.
Brunospo Jan 20, 2023
9dc19aa
Corrigida palavra errada.
Brunospo Jan 20, 2023
673e075
Alterada a rota da documentação.
Brunospo Jan 20, 2023
63bbdb7
Atualizado o README.
Brunospo Jan 20, 2023
d604135
Ajustado a rota da documentação.
Brunospo Jan 20, 2023
fbe83da
Tabela do banco de dados resetada.
Brunospo Jan 20, 2023
9ed94ac
Ajustado o retorno dos valores das cotações.
Brunospo Jan 20, 2023
822b6a6
Ajustado o retorno da conversão das cotações.
Brunospo Jan 20, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 14 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
# `Banco de Talentos Plataforma Impact`

## Sobre os desafios
Nesse repositório você encontrará duas pastas com cada uma com um arquivo .md contendo a descrição do desafio.
Leia atentamente a descrição e siga os passos descritos.
## Dúvidas?
Tem alguma dúvida relacionada ao processo? Abra um [issue](https://github.com/Impact-Plataform/Banco-de-talentos/issues) e teremos prazer em ajudar.

## Obrigado!
Agradecemos sua participação no desafio. Boa sorte! 😄
# `Banco de Talentos Plataforma Impact`

## Sobre os desafios

Nesse repositório você encontrará duas pastas com cada uma com um arquivo .md contendo a descrição do desafio.
Leia atentamente a descrição e siga os passos descritos.

## Dúvidas?

Tem alguma dúvida relacionada ao processo? Abra um [issue](https://github.com/Impact-Plataform/Banco-de-talentos/issues) e teremos prazer em ajudar.

## Obrigado

Agradecemos sua participação no desafio. Boa sorte! 😄
1 change: 1 addition & 0 deletions backend/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DATABASE_URL="file:./dev.db"
38 changes: 38 additions & 0 deletions backend/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"env": {
"browser": true,
"es2021": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended"
],
"overrides": [
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": [
"@typescript-eslint"
],
"rules": {
"indent": [
"error",
"tab"
],
"linebreak-style": [
"error",
"unix"
],
"quotes": [
"error",
"single"
],
"semi": [
"error",
"always"
]
}
}
2 changes: 2 additions & 0 deletions backend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules
# Keep environment variables out of version control
62 changes: 62 additions & 0 deletions backend/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# `Product API`

### Desafio para integrar o banco de talentos como Desenvolvedor Back-end

## :page_facing_up: Descrição da API

É uma API REST que responde aos seguintes métodos:

- [get] /Products (listagem de todos os produtos)
- [post] /Products (cadastrar um produto)
- [get/put/delete] /Products/$ID (listar/atualizar/deletar um produto)

- [get] /Currency/ (listagem de todas as cotações)
- [get] /Currency/$symbol (listar uma cotação)

## :warning: Requisitos

### Deve ter instalado na máquina

- [x] Git
- [x] NodeJs
- [x] API Client (insommia, postman, etc)

## :rocket: Orientações para executar o projeto

Localize a pasta em que foi feito o Download ou clonagem do projeto e abra a pasta `bruno-bispo-backend`. Vá até a pasta `backend`, abra seu terminal e instale as dependências do projeto com o comando:

```bash
npm install
```

:exclamation: **Importante:** Para evitar ter que possuir um banco de dados instalado na máquina, foi utilizado o SQLite, e nele já estão cadastrados alguns produtos.

Agora, para compilar o projeto digite:

```bash
npm run build
```

E para executar, digite:

```bash
npm start
```

Ou se preferir não compilar o projeto, pode executá-lo em modo **desenvolvedor**:

```bash
npm run dev
```

### A URL base da aplicação é `http://localhost:3000/`

:arrow_forward: Agora é só abrir o API Client e testar as rotas da aplicação. Para saber mais detalhes sobre elas, `com a aplicação em execução`, confira a documentação através da URL base.

## :writing_hand: Orientações para testar o projeto

Basta digitar no terminal:

```bash
npm run test
```
Loading