Skip to content

Davidlimma007/LibraryManagementSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Library Management System

Descrição

Este projeto é um sistema de gerenciamento de biblioteca, desenvolvido para fins de estudo e aplicação de boas práticas de engenharia de software, como APIs RESTful, Spring Boot e Docker (para o banco de dados PostgreSQL).

Regras de Negócio (core)

  • Um usuário pode ter, no máximo, 3 livros emprestados simutaniamente.
  • Prazo de devolução: 7 dias, renovável uma vez por mais 7 dias.
  • Multa por atraso: R$ 50,00 + R$ 2.00 por dia de atraso.
  • Punição: Usuário com atraso ficam na lista negra por 1 mês, impedidos de realizar novos empréstimos.

Status do Projeto - Log de Desenvolvimento

Dia 1: Configuração do Projeto e Ambiente

  • Configuração do projeto Spring Boot.
  • Inicialização do repositório Git e criação do 'README.md'.
  • Setup do Docker para PostgreSQL.
  • Configuração do 'application.properties' para conexão com o banco de dados.

Dia 2: Modelagem das Entidades (Book e Person) e Enums

  • Criação da entidade Livro.
  • Criação da entidade abstrata Pessoa.
  • Criação do Enum gênero dos livros.
  • Criação do Enum gênero das pessoas.

Dia 3: Modelagem das Entidades (Funcionário e Cliente)

  • Criação da entidade Funcionário.
  • Criação da entidade Cliente.
  • Criação da endidade empréstimo

Dia 4: Repositórios e Serviços

  • Criação dos repositórios JPA para todas as entidades.
  • criar Exceptions personalizadas para Livro não encontrado e Pessoa Não encontrada.
  • Implementação do pacote service do book (criando o CRUD completo).
  • Implementação do pacote service do employee (criando o CRUD completo).
  • Implementação do pacote service do user (criando o CRUD completo).

Dia 5: criação do Controller

  • Implementação do pacote controller do book (criando o CRUD completo).
  • Implementação do pacote controller do employee (criando o CRUD completo).
  • Implementação do pacote controller do user (criando o CRUD completo).
  • Criação do Enum para status do empréstimo (EMPRESTADO, DEVOLVIDO, ATRASADO).
  • Criação da Exception para lista negra e para limite de empréstimos.
  • Criação do BorrowingService para gerenciar empréstimos.

Dia 6: Implementação do Empréstimo

  • Implementação do método para realizar empréstimos no BorrowingService.
  • Implementação do método para renovar empréstimos no BorrowingService.
  • Implementação do método para devolver livros no BorrowingService.
  • Criação da constante para o valor da multa por atraso.
  • Implementação do cálculo de multas por atraso no BorrowingService.

Dia 7: Correção e criação de novas entidades

  • Criação da entidade Fine.
  • Criação do FineService e do FineRepository.
  • Adequação do BorrowingService pára retirar responsabilidades e mandar para o FineService

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages