JeffersonLuizCruz / financial

O objetivo dessa API REST é explorar as boas práticas de modelagem de entidades usando JPA.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ecommerce

REST API E-Commerce - BackEnd - Spring Boot

Exemplo de um Sistema E-Commerce

GitHub repo size Packagist License GitHub top language GitHub language count GitHub followers

Sobre o projeto   |    Diagrama de Classe   |   

📃 Sobre o projeto

O objetivo dessa API REST é explorar as boas práticas de modelagem de entidades usando JPA.

  • Foi aplicado o conceito de relacionamento de entidade unidirecional e bidirecional visando as vantagens e desvantagens de cada uma delas;
  • Entre o relacionamento do uso de cardinalidade foi abordado o conceito de Entidade Composta entre a entidade Product, ItemRequest e Request.;
  • E o uso das anotation do javax persistence: @ElementCollection, @CollectionTable ...

O sistema deve permitir o cadastro de pelo menos um administrador do sistema. Este terá a responsabilidade sobre todas as inclusões e alterações que serão feitas na aplicação. O e-commerce deve possibilitar o cadastramento dos clientes além dos dados essenciais para efetuar uma compra. Ao efetuar o pedido, adicionando os itens e quantidade, o cliente poderá optar a forma de pagamento a ser utilizada(Mock de Boleto ou Cartão de Crédito e suas parcelas). A compra só será confirmada a partir do momento em que for validada a forma de pagamento.

📃 Diagrama de Classe

Ecommerce

Tecnologia:

  • Java 11
  • Spring Boot 2.4.4
  • Spring Data - JPA/Hibernate
  • Banco de Dados PostgreSQL
  • Spring Secutity - OAuth 2
  • Front-end Ionic
  • Implementação no Heroku
  • Amazon S3

Construção do Projeto:

  • Criação de Interface Service (garantir baixo acoplamento)
  • CRUD (ORM Hibernate - Ambiente de teste)
  • Exception Personalizada
  • Consulta e Busca Paginada
  • Autenticação e Autorização (JWT)
  • Serviço de Email

About

O objetivo dessa API REST é explorar as boas práticas de modelagem de entidades usando JPA.

License:Apache License 2.0


Languages

Language:Java 100.0%