Skip to content

Aplicação backend Spring Boot com Spring Security JWT.

Notifications You must be signed in to change notification settings

heliohdd/springboot-jwt-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Solução Digital "E-Commerce" para Loja Virtual

NPM

Sobre o projeto

Este projeto é uma aplicação backend que implementa os principais módulos do framework Spring Boot tais como Spring Web MVC, Spring Data JPA, Spring Security com JWT e Spring Cloud AWS para Serviço AWS S3 para armazenamento de imagens em nuvem.

Algumas funcionalidades interessantes do projeto são:

  • Validação customizada de CPF ou CNPJ na inserção de cliente;
  • Validação customizada com e-mail não repetido no cadastro de cliente;
  • Recuperação de senha;
  • Controle de permissão ao usuário conforme perfil (Administrador ou Usuário);
  • Busca de Produtos por nome ou por Categoria; e,
  • Paginação com controle de parâmetros adicionais na requisição.

Esta aplicação consiste em um Sistema de Controle de Pedidos "e-commerce". Este sitema permite o controle de uma "Loja Virtual" composta por um catálogo de "Produtos" organizados em "Categorias", que podem ser escolhidos pelo "Cliente", e direcionados para serem entregues em um determinado "Endereço".

Após a conclusão do "Pedido", o sistema se comunica com uma API externa integrada para solução de "Pagamentos" online validando então a compra conforme autorização após a realização da operação de pagamento. O sistema ainda envia um e-mail para o cliente com os dados do pedido avisando sobre a confirmação de pagamento.

Layout

Veja abaixo as telas que compõem o aplicativo posicionando o cursor sobre as imagens para conferir sua descrição.

Layouts do "front-end responsivo (web e mobile)"

Mobile 1 Mobile 2 Mobile 3 Mobile 8 Mobile 9 Mobile 10 Mobile 12 Mobile 13 Mobile 14 Mobile 15 Mobile 16 Mobile 17

Modelo conceitual

Abaixo é apresentado o modelo conceitual utilizado para o desenvolvimento desta aplicação.

Modelo Conceitual

Tecnologias utilizadas

Abaixo são listadas as tecnologias utilizadas para o desenvolvimento desta aplicação.

Back-end

  • Java 11 LTS - (versão com suporte prolongado)
  • Spring Boot 2.0.0 - (versão estável do framework)
  • JPA/Hibernate - (mapeamento ORM)
  • Maven - (gerenciamento de dependências)
  • Postman - (testes durante o desenvolvimento)

Banco de Dados

  • H2 - (para ambiente de testes)
  • MySQL - (para ambiente de desenvolvimento e de produção)

Front-end web

  • HTML5/CSS3/JS/TypeScript - (desenvolvimento web responsiva)
  • Angular - (gerar aplicação web responsiva)

Integração com API's

  • Amazon S3 - (para armazenamento de imagens dos clientes e dos produtos)
  • Google SMTP - (para comunicação sobre confirmação do pagamento.)

Implantação do Projeto

O projeto foi implatado na nuvem através da plataforma PaaS Heroku com entrega contínua (Github Actions) para a parte do back-end, dispondo assim de um ambiente que oferece alta disponibilidade e escalabilidade permitindo ao Sistema ótimos níveis de performance e funcionabilidade.

Como testar o projeto localmente?

Pré-requisito:

Back end

Clonar o repositório

$ git clone https://github.com/heliohdd/springboot-jwt-backend

$ cd springboot-jwt-backend

Executar o projeto

$ ./mvnw spring-boot:run

Testar funcionalidades da API

http://localhost:8080/swagger-ui-custom.html

Autor

Hélio Dourado

LinkedIn Badge

About

Aplicação backend Spring Boot com Spring Security JWT.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages