Desafio Back-end MakeWeb

Primeiramente, obrigado pelo seu interesse em trabalhar na Agência MakeWeb! Abaixo você encontrará todos as informações necessárias para iniciar o seu teste.

Índice

O Desafio

O desafio consiste em desenvolver um site de filmes utilizando o framework Laravel junto com o Livewire. Este site terá três páginas principais:

  1. Página de Listagem de Filmes: Uma página que exibe todos os filmes cadastrados.
  2. Página de Cadastro de Filmes: Um formulário para adicionar novos filmes ao sistema.
  3. Página de Visualização de Filme: Uma página que mostra os detalhes de um filme específico.

Objetivos Principais

  1. Formulário de Cadastro:

    • Implementar o formulário de cadastro de filmes utilizando as classes de formulário e atributos de validação do Livewire.
    • Certificar-se de que os filmes sejam salvos corretamente no banco de dados.
  2. Listagem de Filmes:

    • Programar a página de listagem para exibir todos os filmes cadastrados.
    • Buscar os filmes diretamente do banco de dados.
  3. Visualização de Filme:

    • Utilizar parâmetros de URL do Laravel para buscar e exibir os dados do filme.
    • Mostrar as informações detalhadas de um filme na página.

Desafios Bônus

  1. Paginação na Listagem de Filmes:
    • Adicionar a funcionalidade de paginação na página de listagem de filmes para melhorar a experiência do usuário em listas grandes.
  2. Após cadastrar um novo filme, redirecionar o usuário para a página de visualização desse filme.
  3. Mensagem de validação no formulário
    • Apresentar as mensagens de validação dos campos do formulário

Pré-requisitos

Passos

Esse teste tem como objetivo avaliar o seu conhecimento back-end em PHP e Laravel, portanto estamos considerando que você ja possua o conhecimento básico PHP, Laravel e versionamento de código com Git e GitHub.

1. Realize o fork do repositório

Primeiramente, faça um fork deste repositório para a sua conta do GitHub. Clique no botão "Fork" no canto superior direito da página.

2. Clone o repositório Forkado

Em seguida, clone o repositório forkado para a sua máquina local. No terminal, execute o comando:

git clone https://github.com/seu-usuario/nome-do-repositorio.git

Certifique-se de substituir seu-usuario pelo seu nome de usuário no GitHub e nome-do-repositorio pelo nome do repositório forkado.

3. Instale as dependências Composer

Navegue até o diretório do projeto clonado e instale as dependências necessárias:

cd nome-do-repositorio
composer install

4. Configurando .env

Copie o arquivo .env.example para .env com o comando:

cp .env.example .env

5. Configurando o Banco de Dados

O projeto está configurado para utilizar o SQLite como banco de dados, então vamos ensinar a como configurar o SQLite.

Para utilizar o SQLite é bem simples, apenas crie o arquivo database.sqlite dentro do diretório database dessa forma:

.
├── [...]
│
├── database
│   ├── factories
│   ├── migrations
│   ├── seeders
│   ├── .gitignore
│   └── database.sqlite # Crie esse arquivo
└── [...]

Caso possua o conhecimento e queira utilizar outro banco sinta-se à vontade.

6. Inicialize o servidor

Inicialize o servidor PHP:

php artisan serve

7. Gere uma chave de aplicação

Execute o seguinte comando para gerar uma chave de aplicação:

php artisan key:generate

8. Gere um link com storage

Execute o seguinte comando para gerar um link simbólico com a pasta storage:

php artisan storage:link

9. Execute as migrations e seeders

Se o projeto Laravel requer migrations e seeders, execute os seguintes comandos:

php artisan migrate

php artisan db:seed

O que será avaliado

  • Padrões de classe, atributos e métodos
  • Utilização dos recursos disponíveis no Laravel e Livewire
  • Conhecimento da linguagem e do framework
  • Utilização correta de git

Links úteis


<?php echo 'Boa Sorte! 😄';

Desenvolvedores/Contribuintes

Vitor Bizarra
Vitor Bizarra

Copyright ©️ 2024 - Agência MakeWeb