Skip to content

DevYuriVieira/Spring-Boot-ECommerce-API

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚙️ Desenvolvimento API Restful — SERRATEC

➤ Projeto Final da disciplina de API Restful

➤ Residência em TIC/Software — Turma 36, Nova Friburgo

➤ Professor: Carlos Eduardo Mattos de Carvalho


🎯 Objetivo do Projeto

Desenvolver uma API REST utilizando Java com Spring Boot e PostgreSQL para gerenciamentode de um Ecommerce.


👥 Grupo

# Nome Completo
1 Emanuel Valinhos de Oliveira Rocha
2 Nícolas de Carvalho Oliveira
3 Nivea dos Santos D Avila
4 Victor de Araújo Lima
5 Yuri Vieira Teixeira

✅ Requisitos Obrigatórios

  • Inserir e editar uma categoria
  • Inserir e editar um produto
    • Ao inserir um novo produto, obrigatoriamente deverá estar atrelado a uma categoria
    • Ao listar os produtos, deverá exibir a categoria referente a esse produto
  • Inserir e editar um cliente
    • Ao inserir/alterar um registro de cliente deverá enviar um e-mail para o mesmo informando
    • Ao inserir um cliente deverá preencher o cep e consultar no serviço externo do viacep
  • Inserir e editar um pedido
    • Ao inserir um novo pedido, obrigatoriamente deverá estar atrelado a um cliente
    • O pedido deverá ter um status que poderá ser alterado
    • Um produto pode estar em vários pedidos. Um pedido pode conter vários produtos
    • Listar um determinado pedido pelo número do pedido totalizando o pedido.
  • Validações
    • Cep
    • Complemento
    • Nome
    • Telefone
    • Email
    • Endereço
  • Utilizar algum enum na API
  • Tratamento de Exceções
    • Criar uma classe com anotação @ControllerAdvice
    • Criar Exceptions para todos os erros que possam ocorrer
  • Utilizar Swagger para documentação
  • Parte individual
    • Cada aluno deverá criar uma funcionalidade nova
  • Tecnologias obrigatórios
    • Spring boot
    • Banco Postgres
  • Versionamento com git/github

🛠️ Tecnologias Utilizadas

  • Java 17 — Linguagem de programação principal.
  • Spring Boot 3.5.14 — Framework para facilitação do desenvolvimento e configuração da aplicação.
  • Maven — Gerenciador de dependências e automação de build.
  • PostgreSQL — Banco de dados relacional utilizado para persistência.

📚 Dependências

  • Spring Boot Starter Web — Utilizado para construir a API RESTful e gerenciar requisições HTTP.
  • Spring Boot Starter Data JPA — Framework de persistência para mapeamento objeto-relacional (ORM) usando Hibernate.
  • Spring Boot Starter Security — Framework de segurança que provê autenticação, autorização e proteção contra vulnerabilidades para a aplicação.
  • Spring Boot Starter Validation — Suporte para validação de dados com Bean Validation (ex: @NotNull, @Size).
  • Spring Boot Starter Mail — Facilita o envio de e-mails de forma síncrona ou assíncrona através da API JavaMail.
  • Spring Boot DevTools — Conjunto de ferramentas que melhora a experiência de desenvolvimento, fornecendo recursos como live reload e reinicialização rápida da aplicação.
  • Driver PostgreSQL — Driver JDBC para comunicação com o banco de dados.
  • Lombok — Biblioteca para redução de código boilerplate (gera automaticamente getters, setters, construtores, etc.).
  • Spring Boot Starter Test & Spring Security Test — Infraestrutura para testes unitários e de integração (incluindo testes de segurança).
  • Springdoc OpenAPI UI (v2.8.16) — Ferramenta para geração automatizada da documentação da API utilizando a especificação OpenAPI 3 e interface do Swagger UI.

🗄️ Estrutura do Projeto

src/
└── main/java/org/Serratec/trabalhoIndividual
    ├── config/
    ├── controller/
    ├── entity/
    ├── exception/
    ├── model/
    ├── repository/
    ├── service/
    └── TrabalhoIndividualApplication

About

Projeto Final da disciplina de API Restful Residência em TIC/Software — Turma 36, Nova Friburgo Professor: Carlos Eduardo Mattos de Carvalho

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 100.0%