Skip to content

guirra-byte/Delivery_Back-End

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Delivery Back-End🥙💨

Projeto prático para alavancar conhecimentos no Back-End, adquiridos no curso intensivo Ignite, trilha Node.Js

image


Captura de Tela (402) Captura de Tela (403) Captura de Tela (395) Captura de Tela (396) Captura de Tela (397) Captura de Tela (398)

Descrição ☝

Desafio Prático que consiste em um sistema de Clientes, Entregadores e Pedidos. Utilizando o MySQL Database e Prisma como ORM.. praticando relacionamentos entre tabelas Many to Many, praticando implemetação de Autenticação Permissiva com JWT As relações muitos-para-muitos referem-se a relações em que zero ou mais registros em um lado da relação podem ser conectados a zero ou mais registros no outro lado.

Ajustes e melhorias ⚙🛠

O projeto ainda está em desenvolvimento e as próximas atualizações serão voltadas nas seguintes tarefas:

  • Cadastrar Clientes verificados por Middleware de autenticação
  • Gerar Hash de Password
  • Cadastrar Entregadores verificados por Middleware de autenticação
  • Inserção no Banco de Dados
  • Verificação se o Cliente está autenticado (JWT)
  • Verificação se o Entregador está autenticado (JWT)
  • Implementação de JWT
  • Relacionamento entre Cliente e Entregas - Many to Many
  • Relacionamento entre Entregadores e Entregas - Many to Many
  • Upload de NF (Nota Fiscal)
  • Cadastro de Entregas
  • Estado da Entrega - Entregue ou Pendente
  • Avaliação de Entregador

💻 Sobre o projeto

Neste projeto, foi colocado em prática conteúdos aprendidos:

  • Princípios S.O.L.I.D usados:

    • S - Princípio da Responsabilidade Única

    • L - Princípio da Substituição de Liskov

    • D - Princípio da Inversão de Dependência

  • Integração de API com Banco de Dados Relacional MySQL via ORM Prisma.io

    Prisma.io deferentemente dos ORM´s padrão tem uma facilidade maior na criação de Relacionamentos entre as tabelas. O objetivo do Prisma.io é tornar nós Dev´s mais produtivos ao criarmos Queries de consulta SQL.

  • Autenticação Permissiva nas rotas com JWT


  • Implementação de Testes Unitários:

Os Teste Unitários são aqueles que são implementados apenas em alguns pedaços da aplicação, como Services, UseCases... Resumindo, o foco central dos Testes Unitários são as Regras de Negócios.

Isso irá me ajudar a entender e exercitar os diferentes tipos de aplicações e estruturas que podemos fazer.

Feito Com: ⚒

Node.Js TypeScript MySQL Prisma Prisma

👑 Desafios:

  • Implementação de Testes de Intregação
  • Implementação de Testes Unitários
    • Teste de Criação de Client
    • Teste de Verificação de Client já existente
    • Teste de Criação de Client Token JWT
    • Teste de Criação de Deliveryman
    • Teste de Verificação de Deliveryman já existente
    • Teste de Criação de Deliveryman Token JWT
  • Front-End com React.Js
  • Integração com GitHub OAuth