Projeto prático
para alavancar conhecimentos no Back-End, adquiridos no curso intensivo Ignite
, trilha Node.Js
Desafio Prático que consiste em um sistema de Clientes, Entregadores e Pedidos. Utilizando o
MySQL
Database ePrisma
como ORM.. praticando relacionamentos entre tabelas Many to Many, praticando implemetação de Autenticação Permissiva comJWT
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.
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
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 ORMPrisma.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 consultaSQL
. -
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.
- 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