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