Esse projeto se trata de uma aplicação Web desenvolvida em PHP, usando o padrão de arquitetura MVC. Seu objetivo é facilitar a gestão de agendamentos de livros em bibliotecas, permitindo que usuários realizem reservas e administradores gerenciem os agendamentos.
- Cadastro e login de usuários;
- Visualização dos livros cadastrados no sistema e suas informações;
- Realização do agendamento de livros disponíveis e sua devolução;
- Visualização do histórico de agendamentos;
- Alterar idioma do sistema entre português e inglês.
- Cadastrar novos gêneros e livros no sistema;
- Visualizar todos os agendamentos feitos no sistema;
- Gerenciar todos os usuários cadastrados;
- Excluir livros que ainda não tenham sido agendados;
- Excluir gêneros que não possuam livros vinculados;
- Tornar um livro inativo caso não esteja em agendamento;
- Modificar o título e o gênero dos livros.
- Linguagem: PHP e JavaScript
- Banco de Dados: MySQL
- Arquitetura: MVC (Model-View-Controller)
- Containerização: Docker + Docker Compose
git clone https://github.com/viniciuscassemira/PHP_MVC_Library.git
cd PHP_MVC_Library
- Docker e Docker Compose instalados
- Navegue até a raiz do projeto (onde está o
compose.yaml
). - Execute o seguinte comando:
docker-compose up -d --build
Isso iniciará os contêineres da aplicação e do banco de dados automaticamente.
- Acesse a aplicação em:
http://localhost:8080
- PHP instalado no servidor/local
- MySQL ou outro gerenciador de banco de dados compatível
- Servidor local como XAMPP ou WAMP
- Crie um banco de dados no MySQL.
- Importe e execute o arquivo
script.sql
localizado na pastaDatabase
. - Configure as credenciais do banco no arquivo de conexão (
config.php
). - Após configurar a conexão, execute o seguinte comando na pasta
App
:
php -S localhost:8000
- Acesse a aplicação em:
http://localhost:8000
O banco de dados criado possui um usuário já cadastrado como Administrador, podendo configurar novos usuários, livros e demais parâmetros com ele.
- Email: [email protected]
- Senha: admin@123
Fique à vontade para abrir uma issue ou enviar um pull request com melhorias.