➤ Projeto Final da disciplina de API Restful
➤ Residência em TIC/Software — Turma 36, Nova Friburgo
➤ Professor: Carlos Eduardo Mattos de Carvalho
Desenvolver uma API REST utilizando Java com Spring Boot e PostgreSQL para gerenciamentode de um Ecommerce.
| # | 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 |
- 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
- 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
- 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.
- 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.
src/
└── main/java/org/Serratec/trabalhoIndividual
├── config/
├── controller/
├── entity/
├── exception/
├── model/
├── repository/
├── service/
└── TrabalhoIndividualApplication