Bem-vindo ao projeto de Sistema de Gestão de Biblioteca! Este projeto foi desenvolvido como parte de um desafio da trilha de Java do Ignite. O objetivo é aplicar conceitos fundamentais de Java, incluindo herança, polimorfismo, estruturas de repetição, e manipulação de datas. Dsenvolvido em Java 22.
-
📖 Gerenciamento de Livros
-
Listar livros disponíveis para empréstimo.
-
Realizar o empréstimo de um livro.
-
Filtrar livros por título ou autor.
-
Adicionar novos livros à biblioteca.
-
-
👤 Gerenciamento de Clientes
-
Cadastro de clientes.
-
Listagem de clientes.
-
Registro de histórico de empréstimos.
-
-
🔍 Outras Funcionalidades
-
Histórico completo de empréstimos.
-
Filtros para listagem de livros por categoria, autor ou data de adição.
-
Registro da data de empréstimo e devolução.
-
O projeto é dividido em várias classes, seguindo boas práticas de organização:
📂 src/ (Diretório Principal)
-
📌 Livro.java → Representa os livros da biblioteca.
-
📌 Autor.java → Representa os autores dos livros.
-
📌 Cliente.java → Representa os clientes da biblioteca.
-
📌 Emprestimo.java → Controla os empréstimos realizados.
-
📌 HistoricoEmprestimos.java → Mantém um registro dos empréstimos.
-
📌 Biblioteca.java → Classe principal para gerenciar livros e empréstimos.
-
📌 Main.java → Contém o loop principal da aplicação.
-
Java 22 → Utilizando apenas fundamentos da linguagem.
-
Paradigma Orientado a Objetos (POO) → Aplicando conceitos como encapsulamento e herança.
-
Boas Práticas → Código modular e organizado.
A aplicação irá perguntar se você deseja ver os livros disponíveis. Após escolher um livro, você pode realizar o empréstimo, que será registrado e o livro marcado como indisponível.
Modelagem UML completa do projeto: 
Este projeto está sob a licença MIT. Sinta-se livre para utilizá-lo e modificá-lo conforme necessário.