Skip to content

Latest commit

 

History

History
244 lines (152 loc) · 7.42 KB

README.md

File metadata and controls

244 lines (152 loc) · 7.42 KB

Desafio Promobit - Modelo de cadastro de Produto e Tags

Tópicos

O Projeto

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.

Desenvolvedor

Projeto desenvolvido individualmente para Resolução do Desafio Promobit.


José Carlos

Estrutura do Software

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.

Diagrama do Banco de Dados

Apresentação do Diagrama de Entidade Relacionamento desenvolvido no projeto.

Diagrama do Banco de Dados

Script Relatório

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

Tecnologias

  • PHP 8.0
  • MySQL 8.0.27
  • Laravel 9.0
  • Bootstrap 5
  • Git

Como instalar e utilizar

  • 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/

Endpoints e Telas

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.

Página Inicial

Tela de apresentação, possui acesso as principais funcionalidades do sistema em seu corpo.

http://127.0.0.1:8080/inicial

HOME

Login

Tela para realizar login do usuário

http://127.0.0.1:8080/login

Login

Cadastrar Usuário

Tela para cadastrar usuário

http://127.0.0.1:8080/register

Register

Produtos - CREATE

Tela para cadastro de produtos

http://127.0.0.1:8080/product/create

Produtos - CREATE

Produtos - READ

Lista o produtos cadastrados com as opções de cadastrar, editar e deletar produto

http://127.0.0.1:8080/product/

Produtos - READ

Produtos - UPDATE

Tela para editar dados do produtos

http://127.0.0.1:8080/product/edit/{id}

Produtos - UPDATE

Produtos - DELETE

Caminho para deletar produto

http://127.0.0.1:8080/product/{id}
Tag - CREATE

Tela para cadastro de Tag

http://127.0.0.1:8080/tag/create

Tag - CREATE

Tag - READ

Lista as Tags cadastradas com as opções de cadastrar, editar e deletar Tag

http://127.0.0.1:8080/tag/

Tag - READ

Tag - UPDATE

Tela para editar dados da Tag

http://127.0.0.1:8080/tag/edit/{id}

Tag - UPDATE

Tag - DELETE

Caminho para deletar Tag

http://127.0.0.1:8080/tag/{id}
Relatório Tag - INDEX

Tela para exibir relatório dentro do sistema

http://127.0.0.1:8080/relatorio

Relatório - Sistema

Relatório Tag - gera_pdf

Tela para exibir relatório como página para impressão ou PDF

http://127.0.0.1:8080/tag/gera_pdf

Relatório - PDF

Relatório Tag - gera_sql

Tela para exibir script sql da consulta do relatório

http://127.0.0.1:8080/tag/gera_sql
Relatório - SQL

Agradecimentos

Promobit