MyLibrary é um sistema de gerenciamento de bibliotecas faz a gestão de livros, empréstimos, usuários e seções. Ele permite criar, atualizar e remover livros, gerenciar operações de empréstimo respeitando os limites dos usuários e garantir a disponibilidade dos livros. O sistema também inicializa a base de dados com dados de teste necessários e trata de exceções específicas para assegurar um funcionamento eficiente. Além disso, possui controladores que organizam as requisições HTTP para os serviços apropriados, proporcionando uma interface de uso eficiente e organizada.
User
herdada por Student
e Professor
para tratamento diferenciado. - Student: Pode fazer um empréstimo por vez. - Professor: Pode fazer até 3 empréstimos por vez.app/library/
├── App/
│ ├── Application/
│ │ ├── Controllers/
│ │ │ ├── BookController.php
│ │ │ ├── LoanController.php
│ │ └── Utils/
│ │ ├── Response.php
│ ├── Domain/
│ │ ├── Entities/
│ │ ├── Repositories/
│ │ ├── Services/
│ ├── Infrastructure/
cd coverageTests
php -S localhost:8000
sintaxe PSR-2
Documentação
Code Documentation
Dependências: php 8.3 e sqlite 3
git clone https://github.com/RudeBoyOne/library-management.git
cd library-management
composer install
php App/Infrastructure/Persistence/Database/initialize_db.php
cd App
php -S localhost:8080
Import no postman o arquivo da collection com todas as requisições http para testar o sistema
como importar:
Documentação postman, como importar uma collection
Arquivo Collection
Realizar as requisições para os endpoints dos recursos