thi-costa / livraria

Projeto do módulo Web II do Santander-Coders 2023, bootcamp do Santander em parceria com a Ada

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

API REST - Aplicação de livros

Esse projeto é uma aplicação API REST com Spring Boot para gerenciamento de livros cadastrados em uma livraria com autenticação de usuários, com o Spring Security com utilização do Jwt. Esse projeto foi desenvolvido como projeto final do módulo Web II do Santander-Coders 2023, bootcamp do Santander em parceria com a Ada.

Entidades

Editora

Atributos:

  • id - Long
  • nome - String (máximo de 255 caracteres)
  • descrição - String (não obrigatório)

Categoria

Atributos:

  • id - Long
  • nome - String (máximo de 100 caracteres)

Livro

Atributos:

  • id - Long
  • nome - String (máximo de 255 caracteres)
  • isbn - String (máximo de 13 caracteres)
  • editora_id - Long - relacionamento com a Entidade Editora
  • categoria_id - Long - relacionamento com a Entidade Categoria

Usuário

Atributos:

  • id - Long
  • email - String
  • nome - String
  • username - String (único)
  • cpf - String
  • password - String
  • perfil_id - Long - relacionamento com a Entidade perfil
  • descrição - String (não obrigatório)

Perfil

Atributos:

  • id - Long
  • nome - String

Livro Favorito

Atributos:

  • id - Long
  • combinacao_livro_usuario - String - variável auxiliar para mapear relações duplicadas
  • livro_id - Long - relacionamento com a entidade livro
  • user_id - Long - relacionamento com a entidade usuário

Requisitos

Principais

  • Crie o CRUD de cada entidade, possuindo os controllers, services, repositories, entities e DTOs
  • Crie um endpoint especifico para buscar os livros por categoria.
  • Crie um endpoint especifico para buscar os livros por editora.
  • Crie um endpoint que possa buscar o livro pelo nome ou pelo número isbn ou pelos dois, utilizando criteria ou query dsl.

Bônus

  • Crie a parte de autenticação de usuário e faça endpoints para salvar e buscar os livros favoritos do usuário logado.

Instruções

  • Para inserir perfis de usuário

About

Projeto do módulo Web II do Santander-Coders 2023, bootcamp do Santander em parceria com a Ada


Languages

Language:Java 100.0%