Este projeto consiste em um sistema de gerenciamento de biblioteca desenvolvido em Java utilizando o framework Spring. O sistema permite gerenciar autores, livros e empréstimos, além de notificar usuários sobre a expiração de empréstimos através de um mecanismo de observador.
- Java: Linguagem de programação utilizada para o desenvolvimento do backend.
- Spring Boot: Framework para simplificar a configuração e o desenvolvimento do aplicativo.
- Spring Data JPA: Abstração de persistência para facilitar o acesso ao banco de dados.
- Hibernate: Implementação do JPA utilizada para o mapeamento objeto-relacional.
- MySQL: Banco de dados relacional utilizado para armazenar os dados.
- Spring Mail: Módulo utilizado para envio de emails de notificação.
- Maven: Ferramenta de gerenciamento de dependências e construção do projeto.
- config: Contém classes de configuração do Spring.
- controllers: Contém classes de controle que lidam com as requisições HTTP.
- entity: Contém as classes de modelo (entidades) mapeadas para o banco de dados.
- repositories: Contém interfaces que estendem
JpaRepository
para acesso aos dados. - service: Contém classes de serviço que implementam a lógica de negócio.
- observer: Implementa o padrão de projeto Observer para notificação de usuários.
- factory: Contém fábricas para criação de observadores e criação dos usuários.
- utils: Contém utilitários, incluindo envio de emails.
- Gerenciamento de Autores: Permite o registro, busca e remoção de autores.
- Gerenciamento de Livros: Permite o registro, busca (por título e ISBN) e remoção de livros.
- Gerenciamento de Empréstimos: Permite o registro, busca e remoção de empréstimos.
- Gerenciamento de Usuários: Permite o registro, busca e remoção de usuários.
- Gerenciamento de Cursos: Permite o registro, busca e remoção de cursos.
- Notificações: Utiliza o padrão Observer para notificar usuários sobre a data de expiração dos empréstimos via email.
-
Clone o repositório:
git clone https://github.com/thalesfb/library.git
-
Navegue até o diretório do projeto:
cd library
-
Configure o banco de dados:
- Certifique-se de que o MySQL está instalado e rodando.
- Crie um banco de dados chamado
library
. - Atualize o arquivo
application.properties
com suas credenciais do MySQL.
-
Construa e execute o projeto:
mvn clean install mvn spring-boot:run
Sinta-se à vontade para contribuir com o projeto. Siga os passos abaixo para enviar suas contribuições:
- Fork o repositório.
- Crie uma nova branch:
git checkout -b minha-feature
- Faça as modificações e commit:
git commit -m "Adiciona minha nova feature"
- Envie para sua branch:
git push origin minha-feature
- Abra um Pull Request no GitHub.
Este projeto está licenciado sob a MIT License.
- Autores: Thales Ferreira Batista e Vanderlei Slongo
- Email: thales_fb2014@hotmail.com
- LinkedIn: Thales Ferreira