Giter Site home page Giter Site logo

d2p-teste's Introduction

Teste D2P

Etapas de Criação

Primeiramente foram setadas as configurações de comunicação com o banco do arquivo .env

Detalhe do arquivo .env

Criou-se então o arquivo de migration create_processos para definir a tabela de "Processos" na base de dados, como visto no detalhe do método up a seguir:

2022_05_26_011310_create_processos.php

Detalhe do arquivo de migration

Logo em seguida criou-se a model Processo com alguns Acessors necessários para a exibição das datas, como visto a seguir:

Processo.php

Detalhe do arquivo de Model

Os repositories foram alocados no diretório app/Repositories. ProcessoRepository, para fins de praticidade recebeu apenas o método necessário para se completar os requisitos do teste.

ProcessoRepository.php

Detalhe do arquivo de ProcessoRepository

Também foi criado um arquivo de repository utilizado para simularmos o retorno de um usuário logado como pode ser visto em UserRepository.php

Criou-se um arquivo de view simples apenas com uma table bootstrap para exibir as informações sobre os processos solicitados pelo cliente e também um campo para mensagens vindas do backend, como pode ser observado no arquivo a seguir.

processos.blade.php

Detalhe do campo de mensagem

Detalhe da iteração em processos

Foi criado também um controller para os processos. Todas as ações realizadas no método responsável pela exibição dos processos do usuário foram envolvidas por um bloco try - catch e os repositories injetados pelo __construct. Logo no início realizamos uma busca do usuário logado e verificamos se corresponde ao código do cliente recebido via url. Essa verificação é feita para garantir que nenhum cliente acesse os processos de outro. Em seguida, busca-se os dados dos processos do cliente através do repository e retorna-se uma view com estes dados. Em caso de erro será exibida uma página padrão do laravel.

ProcessoController.php

Detalhe do controller

Por fim temos a rota criada para acesso do recurso. A rota foi colocada em um grupo de rotas para facilitar a criação de rotas futuras. Ela também foi nomeada possibilitar sua chamada dentro do controller.

Routes

Detalhe da rota

Sequência das possíveis visualizações do cliente

Página de erro ao tentar acessar recurso de outro usuário

Detalhe da página de erro

Página de erro inesperado

Detalhe da página de erro

Página de exibição dos processos do cliente

Detalhe da página de erro

d2p-teste's People

Contributors

gsantoscomp avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.