Esse projeto tem como objetivo avaliar o conhecimento e habilidade em desenvolvimento Back-End e Front-End. Para isso foi desenvolvido uma aplicação de modelo WEB de cadastro de produtos, tags e geração de relatório dos Produtos com sua respectiva Tag vinculada. Esse software foi desenvolvido conforme os requisitos descritos no documento do Desafio Promobit.
Projeto desenvolvido individualmente para Resolução do Desafio Promobit.
José Carlos |
O sistema consiste nas funcionalidades de CRUD para Produtos, Tag e geração de relatório dos produtos. As funcionalidades são acessadas através de páginas WEB para a listagem/cadastro/edição/deleção de Produto e Tags, as páginas devem ter navegação entre elas, e uma página para exibir o relatório dos produtos. Permite ser vinculado uma mais Tags aos produtos dentro do cadastro ou edição de Produto. O projeto foi desenvolvido dentro do Padrão da Arquitetura MVC. O sistema possui autenticação do usuário para acessar as funcionalidades do CRUD e relatório.
Apresentação do Diagrama de Entidade Relacionamento desenvolvido no projeto.
Aqui está o script SQL utilizado para extrair as informações necessárias para listagem de Tags mais um sumarizador de Produtos atrelado a cada Tag.
select tags.id as idTag,tags.name as nomeTag,products.id as idProduto,products.name as nomeProduto from `product_tag`
right join `products` on `product_tag`.`product_id` = `products`.`id`
right join `tags` on `product_tag`.`tag_id` = `tags`.`id`
group by `tags`.`id`, `tags`.`name`, `products`.`id`, `products`.`name`
order by `tags`.`name` asc, `products`.`name` asc
- PHP 8.0
- MySQL 8.0.27
- Laravel 9.0
- Bootstrap 5
- Git
-
Baixar ou clonar o projeto do Github.
-
Instalar o PHP (Versão 8.0 ou superior).
-
Instalar uma base de dados MySQL(MySQL Workbench) para armazenamento dos dados (Ou uma base de dados de sua preferência).
-
Configurar o arquivo .env, alterando as informações do banco de dados como o modelo a seguir
-
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD=
-
-
Abra o terminal na pasta do projeto e digite o comando para criar as tabelas no banco
-
php artisan migrate
-
-
Abra o terminal na pasta do projeto e digite o comando para iniciar o servidor
-
php artisan serve
-
-
Pronto, a aplicação está rodando!
-
Vá ao navegador e digite a url:
-
http://127.0.0.1:8000/
-
Aqui está listado os Endpoints da aplicação, para melhor orientação na utilização do sistema. A página inicial é a única que não precisa de autenticação do usuário, para acessar todas as outras páginas é necessário o Login para confirmar a autenticação do usuário. Possui um menu com opção de expandir barra lateral que permitirá navegação entre as páginas do sistema.
Tela de apresentação, possui acesso as principais funcionalidades do sistema em seu corpo.
http://127.0.0.1:8080/inicial
Tela para realizar login do usuário
http://127.0.0.1:8080/login
Tela para cadastrar usuário
http://127.0.0.1:8080/register
Tela para cadastro de produtos
http://127.0.0.1:8080/product/create
Lista o produtos cadastrados com as opções de cadastrar, editar e deletar produto
http://127.0.0.1:8080/product/
Tela para editar dados do produtos
http://127.0.0.1:8080/product/edit/{id}
Caminho para deletar produto
http://127.0.0.1:8080/product/{id}
Tela para cadastro de Tag
http://127.0.0.1:8080/tag/create
Lista as Tags cadastradas com as opções de cadastrar, editar e deletar Tag
http://127.0.0.1:8080/tag/
Tela para editar dados da Tag
http://127.0.0.1:8080/tag/edit/{id}
Caminho para deletar Tag
http://127.0.0.1:8080/tag/{id}
Tela para exibir relatório dentro do sistema
http://127.0.0.1:8080/relatorio
Tela para exibir relatório como página para impressão ou PDF
http://127.0.0.1:8080/tag/gera_pdf
Tela para exibir script sql da consulta do relatório
http://127.0.0.1:8080/tag/gera_sql