Projeto Crud (Create, Read, Update, Delete) para Porto de Navios, incluindo paginação de resultados, Campo de pesquisa e Exportação de PDF
O projeto é um crud de Porto de Navios aonde é possível cadastrar, alterar, ler e excluir registro de Containers e Movimentações no banco de dados com paginação de resultados, campo de pesquisa e exportação de dados via PDF. Para isso foi utilizando o PHP para realizar execução de instruções SQL no banco de dados phpMyAdmin, além disso foi utilizado POO (Programação Orientada a Objetos), PDO (PHP Data Object) e DAO (Data Access Object) na construção das class. Na arquitetura do projeto foi utilizado a ideia do MVC (Model View Controller) para que assim as class ficassem separadas permitindo melhor manutenção do código e tambem a utilização do Composer para Geração de PDF e autoload das class. Na pasta DOC você encontra todo o planejamento do projeto como o desenho da modelagem do banco de dados, diagrama UML das class utilizadas e o próprio banco de dados exportado.
- Cliente
- Número do contêiner (4 letras e 7 números. Ex: TEST1234567)
- Tipo: 20 / 40
- Status: Cheio / Vazio
- Categoria: Importação / Exportação
- Tipo de Movimentação (embarque, descarga, gate in, gate out, reposicionamento, pesagem, scanner)
- Data e Hora do Início
- Data e Hora do Fim
- No final do relatório deverá conter um sumário com o total de importação / exportação.
Para executar esse projeto você precisara do Composer.
Por meio dele sera baixado todas as depedencias do projeto, depois de instalado execute os comandos abaixo na linha do terminal.
- Para baixa todas as dependencias do projeto
composer update
- Efetuar o carregamento automatico das class
composer dump-autoload
- Edite as configurações padrão do arquivo config.php
define("HOST","localhost");
define("BANCO","crud-container");
define("USUARIO","root");
define("SENHA","");
define("BASEURL", "http://localhost/crud-container/");
- altere a url da imagem do modelo de pdf que pode ser encontrado em App/pdf/geral/modelo-pdf.php
<img src="<Dominio>/App/pdf/geral/navio-grande.png" alt="Imagem de Navio Grande">
Concluido: O projeto esta terminado, não havera futuras alterações de funcionalidade.
-
HTML - HTML abreviação para a expressão inglesa HyperText Markup Language, que significa: "Linguagem de Marcação de Hipertexto" é uma linguagem de marcação utilizada na construção de páginas na Web. Documentos HTML podem ser interpretados por navegadores. A tecnologia é fruto da junção entre os padrões HyTime e SGML.
-
CSS - Cascading Style Sheets é um mecanismo para adicionar estilo a um documento web. O código CSS pode ser aplicado diretamente nas tags ou ficar contido dentro das tags "style". Também é possível, em vez de colocar a formatação dentro do documento, criar um link para um arquivo CSS que contém os estilos.
-
JavaScript - CJavaScript é uma linguagem de programação interpretada estruturada, de script em alto nível com tipagem dinâmica fraca e multiparadigma. Juntamente com HTML e CSS, o JavaScript é uma das três principais tecnologias da World Wide Web.
-
PHP - PHP é uma linguagem interpretada livre, usada originalmente apenas para o desenvolvimento de aplicações presentes e atuantes no lado do servidor, capazes de gerar conteúdo dinâmico na World Wide Web.
-
SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é a linguagem de pesquisa declarativa padrão para banco de dados relacional. Muitas das características originais do SQL foram inspiradas na álgebra relacional.
-
Composer - O Composer é um gerenciador de pacotes no nível do aplicativo para a linguagem de programação PHP que fornece um formato padrão para gerenciar dependências do software PHP e bibliotecas necessárias. Foi desenvolvido por Nils Adermann e Jordi Boggiano, que continuam a gerenciar o projeto.
- MariaDB - 10.4.21-MariaDB
- PHP - 7.3.31
- Apache - 2.4.51
- phpMyAdmin - 5.1.1
- Xampp - 3.3.0
- Cesar dos Santos de Almeida - responsável pela construção e desenvolvimento do projeto
Este projeto está licenciado sob a licença MIT - consulte o arquivo LICENSE.md para obter detalhes
- Layout do Projeto - Link do projeto no figma
- Demo do projeto - Link da Demo