O projeto consiste em um sistema web backend para um sistema de administração de biblioteca utilizando o framework Spring, o template engine Thymeleaf para renderização de páginas no lado do servidor e o banco de dados PostgreSQL.
O objetivo do projeto é desenvolver um sistema web backend, utilizando a arquitetura MVC, para o sistema de administração de uma biblioteca, incluindo persistência de dados em um BD SQL e um front-end simples para interação com o usuário.
Desenvolver um sistema web backend para administração empréstimos em uma biblioteca, utilizando o framework Spring, o template engine Thymeleaf para renderização de páginas e o banco de dados PostgreSQL.
Para fazer a persistência dos dados e mapeamento objeto-relacional, foi utilizado o Spring Data JPA com JpaRepository.
Para o mapeamento objeto-relacional, foram criadas as seguintes entidades:
Para a arquitetura MVC, foram criados os seguintes pacotes:
Model:
-
Entidades: Responsável por representar as entidades do banco de dados. Regras de negócio.
-
Service: Responsável por desacoplar a aplicação das classes repositórios ou de regras de negócio.
Controller: Responsável por fazer a ponte entre a camada view e a camada model.
View: É a camada de apresentação do sistema, onde o usuário interage com a aplicação.
Aqui, foram criadas apenas duas páginas:
menu.html
Esta página (ver imagem acima) é criada por padrão pelo Spring Boot e é uma espécie de porta de entrada para a aplicação.
index.html
Esta página (ver imagem acima) é onde a ação acontece. Para exibir as informações do sistema foi utilizada uma abordagem de página única, na qual o trecho de html a ser exibido é determinado por uma informação passada pelo controller e manipulada pelo Thymeleaf, que utilizando a diretiva th:switch, exibe o código desejado.
Para as operações CRUD, foram implementadas as seguintes funcionalidades:
Create: Cadastrar livro, autor, editora, empréstimo ou usuário (ver imagem abaixo).
Read: Listar livros, autores, editoras, empréstimos ou usuários (ver imagem abaixo).
Update: Devolver empréstimo.
Ao clicar o botão Devolver
(ver imagem abaixo), o sistema atualiza o estado do empréstimo para devolvido.
Delete: Excluir usuário.
Ao clicar em Excluir
(ver imagem abaixo), o sistema excluirá o usuário do banco de dabos e todos os empréstimos associados a ele.
1 - Listar autores cadastrados:
2 - Listar empréstimos ativos:
CSS: CSS puro foi utilizado para estilizar as páginas.
JavaScript: o JavaScript foi utilizado apenas para exigir a corfirmação do usuário ao realizar operações de Update e Delete.
Thymeleaf: esta ferramenta foi bastante utilizada para a manipulação de dados, comunicação com o controller e renderização de páginas.
O spring boot se mostrou uma ferramenta poderosa para o desenvolvimento de sistemas web backend, pois facilita a configuração e o desenvolvimento das aplicações.
O Thymeleaf também se mostrou uma ferramenta bastante útil, pois diminui significativamente a quantidade de código que precisa ser escrito para manipular os dados e renderizar as páginas.
O spring data jpa facilitou a comunicação com o banco de dados, pois introduz uma camada de abstração que dispensa a necessidade de escrever queries SQL.