https://github.com/hfidelis/desafio-coorlab
Desafio para vaga de estágio - CoorLab
https://github.com/hfidelis/desafio-coorlab
bootstrap-icons bootstrap-vue bootstrap5 fetch html-css-javascript json-server vuejs
Last synced: 3 months ago
JSON representation
Desafio para vaga de estágio - CoorLab
- Host: GitHub
- URL: https://github.com/hfidelis/desafio-coorlab
- Owner: hfidelis
- Created: 2023-06-08T19:08:39.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-09T17:07:22.000Z (almost 2 years ago)
- Last Synced: 2024-12-26T11:30:35.183Z (4 months ago)
- Topics: bootstrap-icons, bootstrap-vue, bootstrap5, fetch, html-css-javascript, json-server, vuejs
- Language: Vue
- Homepage:
- Size: 3.64 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Desafio CoorLab
Olá DEV, pronto para participar do nosso processo seletivo?## Requisitos
- Noções de programação web
- Javascript
- HTML## Desafio
Uma empresa estabelecida em Campinas busca assistência para determinar a opção de transportadora mais adequada, levando em consideração a cidade de destino e o prazo de entrega. A equipe de logística realiza o registro de todas as cotações de frete no sistema de gestão logística da empresa. Por sorte, esse sistema é equipado com uma API REST que disponibiliza de forma estruturada todos os dados coletados das cotações de frete. Tais informações estão formatadas da seguinte maneira:```
$ curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://localhost:3000/transport[
{
"id": 1, <--- ID da cotação
"name": "Expresso Oriente", <--- Nome da transportadora
"cost_transport_light": "R$ 2.10", <--- Custo de Frete até 100Kg [R$/Kg]
"cost_transport_heavy": "R$ 1.50", <--- Custo de Frete mais de 100Kg [R$/Kg]
"city": "São Paulo", <--- Cidade de destino
"lead_time": "12h" <--- Tempo de entrega
},
]
```Implemente uma aplicação utilizando Vue.js e JavaScript, com base nos requisitos descritos na história a seguir:
**História de Usuário: Análise de Frete**
Como analista de logística,
Eu desejo saber qual é o preço do frete mais econômico e o preço do frete mais rápido,
Para tomar decisões mais assertivas ao contratar o serviço de transporte.**Cenário: Exibição dos Melhores Fretes**
Dado que estou na página de análise de frete,
Quando inserir o peso do frete,
E informar a cidade de destino,
E clicar no botão "Analisar",
Então devo visualizar o nome da transportadora, o custo total e o tempo de entrega do frete mais econômico,
E devo visualizar o nome da transportadora, o custo total e o tempo de entrega do frete mais rápido.**Protótipo**

A implementação da aplicação deve utilizar Vue.js e deve seguir os requisitos da história de usuário, cenário e protótipo.
Do ponto de vista de tecnologia utilizada para implementação, a unica exigência é utilizar Vue.js, outras bibliotecas, componentes e frameworks, podem ser utilizados, desde que sejam de código-aberto.## Instruções para Implementação
Para facilitar a resolução do desafio, deixamos uma parte do projeto já montado para você. No diretório "code" deste repositório você terá o esqueleto do projeto já montado.
Utilize os seguintes comandos para rodar a página do desafio.
```
cd codenpm install
npm run serve
```
Você também vai precisar ligar o servidor da API REST para consultar as cotações dos fretes, utilize o seguinte comando para isso:```
npm run api_serve```
Para testar a api, você pode usar o seguinte comando:
```
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://localhost:3000/transport
```Ele ira retornar uma lista com os valores das cotações, como exemplo a seguir:
```
$ curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://localhost:3000/transportHTTP/1.1 200 OK
X-Powered-By: Express
Vary: Origin, Accept-Encoding
Access-Control-Allow-Credentials: true
Cache-Control: no-cache
Pragma: no-cache
Expires: -1
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
Content-Length: 2837
ETag: W/"b15-f90GSZPs+txwiOzSSKLWg7LqzzE"
Date: Wed, 27 Apr 2022 23:55:34 GMT
Connection: keep-alive
Keep-Alive: timeout=5[
{
"id": 1,
"name": "Expresso Oriente",
"cost_transport_light": "R$ 2.10",
"cost_transport_heavy": "R$ 1.50",
"city": "São Paulo",
"lead_time": "12h"
},
{
"id": 2,
"name": "Expresso Oriente",
"cost_transport_light": "R$ 4.20",
"cost_transport_heavy": "R$ 3.10",
"city": "Belo Horizonte",
"lead_time": "18h"
},
]
```## Avaliação
O que vamos avaliar:
- Atenção aos requisitos do projeto.
- Atenção as instruções que fornecemos.
- Lógica.
- Qualidade.
- Manutenabilidade.
- Organização.
- Boas práticas.## Instruções
Siga os seguintes passos para a execução do desafio:
1. Crie um repositório **público** no GitHub.
2. Faça o **clone** do repositório que você acabou de criar.
3. Extraia os arquivos do "desafio_coorlab.zip" na pasta que você fez o clone do repostório.
4. Faça o primeiro **commit** com apenas estes arquivos no seu repositório, desta forma fica mais simples avaliar o que você implementou.
5. Implemente o desafio.
6. Faça o **commit** da sua implementação, inclusive se você quiser criar um commit diferente para cada parte que você implementou, é uma pratica que gostamos muito aqui na Coordene.
7. Faça o **push** das suas alterações.
8. Após concluir os passos anteriores, preencha este [formulário](https://airtable.com/shrTjtwUrw7I1CuxE).### Importante
- Não se esqueça de deixar o seu ***repositório público*** para que possamos revisar o seu código.