Skip to content

Desafio de transferência, O seguinte problema foi apresentado: Sanar a carência de uma API-Rest na qual calcula o frete, mais info. em DOC.

Notifications You must be signed in to change notification settings

IsaacGSS/API_Frete

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 

Repository files navigation

KaBum!

API-REST-Frete | Desafio BackEnd

' tenho como Objetivo me desafiar e expor minhas habilidades e evolução.'


Readme do Desafio original

README - KaBuM!


Getting Started

Inicie adicionando todas as dependencias e startando a ORM Prisma juntamente com Docker.

# dependencias
  npm install

# Iniciar prisma
  npx prisma migrate dev

🔗 Para Mais detalhes aqui 👈


ℹ️ Arquitura

./src:.

🔗. http/:

Principal app src/http, onde se encontra as Rotas e o Servidor.

Rotas /routs, contendo CRUD e a rota calcule.ts responsavel pelo resultado final.

creat-frete.ts e ger-frete.ts, caso queira add novo frete e ter retorno deles.

, caso queira add novo frete.

Servido ou controlador /server.ts.

🔗. lib/:

prisma.ts, liberando a funcionalidade de conectar ao db | @prisma/client.

🔗. utils/:

formuleCalcFrete.ts, responsavel pela funcao de calcular e formatar o valor do frete,


./prisma:.

schema.prisma, responsavel para criar o schema, criando as tabelas ou seus model para seu db

🔗. seed/:

O Script seed.ts popula o db


🎯 Objetivo

Fluxo

  • Criar uma API REST
    • Validar as Dimencoes com as opcoes de frete
      • Retornar uma ou mais transportadoras, se nao retornar vasio [] caso nem uma seja valida
    • calcular o frete cruzando a Info. do produto e as opcoes de frete
      (Peso x constante_frete) / 10 

Requisito

  • App ser API REST
  • Validação de altura máxima e mínima para cada opção de frete
  • Validação de largura máxima e mínima para cada opção de frete
    // caso a validacao nao aprove todos.
      []
  • Validação se o peso do produto é maior que 0 (zero).
  • Rota POST
  • Receber parametros em Formato JSON com as Info.: dimensao:altura e largura, peso
    {
      "dimensao": {
        "altura":152,
        "largura":50
      },
      "peso":850
    }
  • Formatar e retornar com as Info.: nome, valor e prazo
    [
      {
        "nome":"Entrega Ninja",
        "valor_frete": 12.00,
        "prazo_dias": 6
      },
    ]

About

Desafio de transferência, O seguinte problema foi apresentado: Sanar a carência de uma API-Rest na qual calcula o frete, mais info. em DOC.

Topics

Resources

Stars

Watchers

Forks