clebsonsh / exata-test

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Exata IT - Processo Seletivo - Desenvolvedor Pleno Laravel

Teste Desenvolvedor Pleno Laravel

Objetivo: Desenvolver um aplicação usando Laravel e Vue.

Montando o ambiente / boilerplate:

  • Criar uma nova aplicação web com Laravel 10.

  • Configurar BD MySQL.

  • Adicionar o pacote Breeze.

  • Adicionar suporte ao Vue com SSR.

  • Adicionar pacote Bouncer para controle de roles de usuário (https://github.com/JosephSilber/bouncer).

Customizando a aplicação:

  • Desenvolver Seeder para criar um usuário “admin@exata.it” no role “superadmin” e uma senha aleatória que deve ser apresentada no console ao migrar.

  • Desabilitar a funcionalidade de registro de novos usuários completamente.

  • Desenvolver uma tela com Vue para CRUD de usuários acessível apenas ao role “superadmin”.

  • Utilizar o pacote Tailwind (https://tailwindcss.com/) para estilos.

  • Utilizar o pacote PrimeVue (https://primevue.org/setup) para os componentes: DataTable, Input (group, text, number,etc), Button, etc.

  • Menu lateral à esquerda (ocupando a tela).

  • Barra no topo com nome do usuário e dropdown para logout.

COMO RODAR O APP LOCAL

Pré-requisitos:

Procedimentos testados na linha de comando do Linux

Download e instalação:

  • Clone o repositório

git clone git@github.com:clebsonsh/exata-test.git

  • Vá para pasta do APP

cd exata-test

  • Instale as dependências PHP

composer install

  • Crie o arquivo .env baseado no .env.example (nesse arquivo já estão as configurações do banco de dados do docker)

cp .env.example .env

  • Gere a APP_KEY

php artisan key:generate

  • Inicie os containers Docker através do Laravel Sail (a primeira vez que rodar esse comando pode demorar, pois vai baixar e configurar todos containers usados pelo APP)

./vendor/bin/sail up -d

  • Instale as dependências JavaScript

./vendor/bin/sail yarn install

  • Rode a build dos assets JavaScript e CSS

./vendor/bin/sail yarn build

  • Rode as migrations com as seeds a senha de admin vai aparecer no terminal quando rodar esse comando

./vendor/bin/sail artisan migrate:fresh --seed

  • Rode o servidor de SSR

./vendor/bin/sail artisan inertia:start-ssr

A partir desse ponto o APP já estará rodando. O servidor local, o NodeJS e banco de dados MySQL não precisam ser instalados, pois tudo será provido pelo Docker/Lravel Sail.

COMO USAR O APP LOCAL

O app pode ser acessado em http://127.0.0.1

O mailpit pode ser acessado em http://127.0.0.1:8025 que é para onde vão os e-mail de recuperação de senha no ambiente de desenvolvimento

No canto superior direito da home tem link para, já existe um Admin criado quando rodamos as seeds e outros usuários para teste

Assim que logar você será redirecionado a parte administrativa do app, onde é possível criar, editar e deletar usuários

STACK USADA

  • PHP
  • JavaScript
  • HTML
  • CSS
  • Laravel
  • VueJS
  • TailwindCSS
  • MySQL
  • Docker

OBESERVAÇÔES

Não usei o PrimeVue, até tentei usar, gastei um bom tempo tentando entender como PrimeVue funciona mas não consegui fazer a integração dele. Acabei decidindo seguir sem esse pacote e entregar a funcionalidade do app

About


Languages

Language:PHP 50.3%Language:Vue 34.6%Language:Blade 13.2%Language:JavaScript 1.3%Language:Shell 0.5%Language:CSS 0.0%