<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Amanda Pereira</title>
    <description>The latest articles on DEV Community by Amanda Pereira (@constpereiradev).</description>
    <link>https://dev.to/constpereiradev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1416927%2Fb5cd15c9-a42d-465f-910d-1fd9f3b5e48f.jpg</url>
      <title>DEV Community: Amanda Pereira</title>
      <link>https://dev.to/constpereiradev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/constpereiradev"/>
    <language>en</language>
    <item>
      <title>Como você está contribuindo com a comunidade e resolvendo seus problemas pessoais?</title>
      <dc:creator>Amanda Pereira</dc:creator>
      <pubDate>Tue, 01 Apr 2025 14:55:41 +0000</pubDate>
      <link>https://dev.to/constpereiradev/como-voce-esta-contribuindo-com-a-comunidade-e-resolvendo-seus-problemas-pessoais-2ljd</link>
      <guid>https://dev.to/constpereiradev/como-voce-esta-contribuindo-com-a-comunidade-e-resolvendo-seus-problemas-pessoais-2ljd</guid>
      <description>&lt;p&gt;Sem dúvidas, 2025 é o ano em que mais estou me empenhando em criar projetos pessoais, mas focando em solucionar problemas reais: os meus problemas. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mockai (&lt;a href="https://mockai.com.br" rel="noopener noreferrer"&gt;https://mockai.com.br&lt;/a&gt;) foi contruído pensando no meu problema de sempre precisar cadastrar dados para realizar testes;&lt;/li&gt;
&lt;li&gt;Para o LangPt (&lt;a href="https://packagist.org/packages/constpereiradev/lang-pt" rel="noopener noreferrer"&gt;https://packagist.org/packages/constpereiradev/lang-pt&lt;/a&gt;), pensei em como em todo projeto novo Laravel eu preciso ficar traduzindo os retornos padrões do framework;&lt;/li&gt;
&lt;li&gt;QuickDoc (&lt;a href="https://quickdoc.space" rel="noopener noreferrer"&gt;https://quickdoc.space&lt;/a&gt;) foi feito visando resolver o meu problema diário em construir documentações;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Até mesmo o AppOpener (&lt;a href="https://github.com/constpereiradev/app-opener" rel="noopener noreferrer"&gt;https://github.com/constpereiradev/app-opener&lt;/a&gt;), um simples script python, eu o utilizo todos os dias desde que o criei, e ele elimina pelo menos 15 minutos de trabalho. &lt;/p&gt;

&lt;p&gt;Nesse ano também tomei a iniciativa de investir numa hospedagem para que meus projetos saiam do localhost.&lt;/p&gt;

&lt;p&gt;Essas experiências têm contribuido diretamente no meu desenvolvimento pessoal, e estou praticando aquilo que um bom desenvolvedor precisa dominar: resolver problemas. Sem reinventar a roda ou tentar ser extraordinária, mas sendo original nas minhas próprias ideias.&lt;/p&gt;

&lt;p&gt;Enquanto muitos se preocupam com o impacto da IA na tecnologia, percebo que há problemas cotidianos que ainda exigem soluções práticas e personalizadas. Aproveito disso todos os dias para ter novas ideias e desenvolver meus próprios projetos (e isso não significa que a IA não possa ser uma auxiliar nesse processo).&lt;/p&gt;

&lt;p&gt;Entre algumas das minhas metas está me tornar mais ativa em redes como o medium e o dev.to, onde tenho alguns poucos artigos publicados, pois um desenvolvedor que acumula conhecimento sem compartilhá-lo não constrói pontes, apenas paredes. &lt;/p&gt;

&lt;p&gt;E você, o que construiu nesses 4 meses?&lt;/p&gt;

&lt;p&gt;Conheça meu portfólio: &lt;a href="https://pereiradev.vercel.app/" rel="noopener noreferrer"&gt;https://pereiradev.vercel.app/&lt;/a&gt;&lt;br&gt;
Vamos nos conectar e desenvolver soluções para problemas sem pensar no seu tamanho. &lt;/p&gt;

&lt;h1&gt;
  
  
  DesenvolvimentoDeSoftware
&lt;/h1&gt;

&lt;h1&gt;
  
  
  Programação
&lt;/h1&gt;

&lt;h1&gt;
  
  
  ResoluçãoDeProblemas
&lt;/h1&gt;

&lt;h1&gt;
  
  
  CompartilhamentoDeConhecimento
&lt;/h1&gt;

&lt;h1&gt;
  
  
  DevLife
&lt;/h1&gt;

&lt;h1&gt;
  
  
  Tecnologia
&lt;/h1&gt;

&lt;h1&gt;
  
  
  Aprendizado
&lt;/h1&gt;

&lt;h1&gt;
  
  
  OpenSource
&lt;/h1&gt;

&lt;h1&gt;
  
  
  ComunidadeTech
&lt;/h1&gt;

&lt;h1&gt;
  
  
  Inovação
&lt;/h1&gt;

</description>
    </item>
    <item>
      <title>Mockai  - Gerador de Dados Mockados para Desenvolvedores</title>
      <dc:creator>Amanda Pereira</dc:creator>
      <pubDate>Wed, 05 Mar 2025 22:04:33 +0000</pubDate>
      <link>https://dev.to/constpereiradev/mockai-gerador-de-dados-mockados-para-desenvolvedores-5goo</link>
      <guid>https://dev.to/constpereiradev/mockai-gerador-de-dados-mockados-para-desenvolvedores-5goo</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F71onbqimzyzkhf02zyru.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F71onbqimzyzkhf02zyru.png" alt="Image description" width="800" height="493"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Como desenvolvedora, sempre enfrentei desafios ao criar dados fictícios para testes. Esse processo manual consumia tempo e frequentemente resultava em inconsistências que afetavam a qualidade do software.&lt;/p&gt;

&lt;p&gt;Pensando nessa problemática, desenvolvi o Mockai, uma ferramenta web simples que automatiza a geração de dados mockados, permitindo que você se concentre no que realmente importa: desenvolver soluções de qualidade.&lt;/p&gt;

&lt;p&gt;🚀 Por que o Mockai é essencial?&lt;/p&gt;

&lt;p&gt;Agilidade no Desenvolvimento: Elimine o tempo gasto na criação manual de dados de teste e acelere o ciclo de desenvolvimento.&lt;/p&gt;

&lt;p&gt;Qualidade Assegurada: Garanta que suas aplicações sejam testadas com dados consistentes e realistas, reduzindo a ocorrência de bugs.&lt;/p&gt;

&lt;p&gt;Flexibilidade: Personalize os dados gerados para atender às necessidades específicas do seu projeto, seja para testes unitários, de integração ou de performance.&lt;/p&gt;

&lt;p&gt;🛠️ Tecnologia por trás do Mockai&lt;/p&gt;

&lt;p&gt;O Mockai foi desenvolvido utilizando o recém-lançado Laravel Cloud e Laravel 12, que oferecem uma infraestrutura robusta e escalável, garantindo desempenho e confiabilidade.&lt;/p&gt;

&lt;p&gt;🔥 O que vem por aí?&lt;/p&gt;

&lt;p&gt;O projeto está atualmente em fase beta (MVP), mas novas funcionalidades já estão em desenvolvimento, incluindo:&lt;/p&gt;

&lt;p&gt;Retorno de raw query para maior controle sobre os dados gerados.&lt;/p&gt;

&lt;p&gt;Criação de tabelas e colunas personalizadas para atender diferentes necessidades.&lt;/p&gt;

&lt;p&gt;Autenticação para que você possa salvar e gerenciar seus projetos com segurança.&lt;/p&gt;

&lt;p&gt;✨ Experimente o Mockai!&lt;/p&gt;

&lt;p&gt;Te convido a testar o Mockai e compartilhar seu feedback. Sua opinião é essencial para melhorarmos ainda mais a ferramenta.&lt;/p&gt;

&lt;p&gt;👉 Acesse agora: &lt;a href="https://mockai.laravel.cloud/" rel="noopener noreferrer"&gt;https://mockai.laravel.cloud/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📬 Contato&lt;/p&gt;

&lt;p&gt;Se tiver dúvidas, sugestões ou quiser trocar ideias, entre em contato comigo:&lt;/p&gt;

&lt;p&gt;📧 E-mail: &lt;a href="mailto:seu-email@email.com"&gt;seu-email@email.com&lt;/a&gt;🐦 Twitter: @seuTwitter💼 LinkedIn: seuLinkedIn&lt;/p&gt;

&lt;p&gt;Fico no aguardo do seu feedback e espero que o Mockai ajude a tornar o seu desenvolvimento mais ágil e eficiente! 🚀&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Dev, o que são boas práticas?</title>
      <dc:creator>Amanda Pereira</dc:creator>
      <pubDate>Wed, 10 Apr 2024 15:16:46 +0000</pubDate>
      <link>https://dev.to/constpereiradev/dev-o-que-sao-boas-praticas-2j9</link>
      <guid>https://dev.to/constpereiradev/dev-o-que-sao-boas-praticas-2j9</guid>
      <description>&lt;h2&gt;
  
  
  Olá! Meu nome é Amanda Pereira.
&lt;/h2&gt;

&lt;p&gt;Identação? Comentários? Documentação? Manual do usuário? O assunto de hoje é sobre &lt;strong&gt;boas práticas&lt;/strong&gt;.&lt;br&gt;
Afinal, qual são as práticas que irão facilitar o trabalho das pessoas que irão precisar fazer manutenção num código escrito por mim?&lt;/p&gt;

&lt;p&gt;Depois de 7 meses de experiência, tenho a propriedade de falar que passei por situações &lt;em&gt;complicadas&lt;/em&gt; que me levaram ao seguinte questionamento: &lt;em&gt;como essa pessoa esperava que eu fosse entender esse código?&lt;/em&gt; Desde então, venho me dedicando pra que a próxima pessoa não passe por situações como essa, seguindo as seguintes práticas:&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Comentários
&lt;/h3&gt;

&lt;p&gt;Antes de ingressar no mercado de trabalho, achava que comentários se tornavam desnecessários se um código fosse legível, afinal,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ nome = 'amanda'
return $nome;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;é um trecho código auto-explicativo, certo?&lt;/p&gt;

&lt;p&gt;Aí é que vem o erro de muitos: achar que comentários devem explicar linha por linha de um código, quando na verdade, devem explicar um código no geral;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/*
Esse relatório possui os dados X. Um dado, quando acontece algo Y, recebe status Z.

Status A: explicação do status.
Status B: explicação do status.
Status C: explicação do status.

Relação (nome da relação): O model X possui relação Many To Many com o model Y.
*/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Quem precisar dar manutenção na função que possui esse trecho de comentário, certamente não terá dificuldades para entender o que aquele código faz e as regras que ele possui.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Não repita código
&lt;/h3&gt;

&lt;p&gt;Não repita uma função, crie uma genérica para ser reutilizada.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public function subtrairNumeros($num1, $num2){
  return $num1 - $num2;
}
public function somarNumeros($num1, $num2){
  return $num1 + $num2;
}

public function calculadora(){
  $num1 = 10; $num2 = 10;
  $soma = $this-&amp;gt;somarNumeros($num1, $num2);
  $subtracao = $this-&amp;gt;subtrairNumeros($num1, $num2);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Documentação
&lt;/h3&gt;

&lt;p&gt;O que é essa tal de documentação? Como é feita?&lt;/p&gt;

&lt;p&gt;De diversas maneiras. Uma documentação pode ser feita no README do seu repositório, num documento Word, através de comentários, através de UML. É essencial criar o diagrama do seu banco de dados e das relações que existem nele, assim, o próximo dev vai saber o nome de cada especificação e encontra-las vai ficar mais fácil.&lt;/p&gt;

&lt;p&gt;Um arquivo md também é interessante.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F23zmaf5skd8286bq5u0j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F23zmaf5skd8286bq5u0j.png" alt="Image description" width="667" height="641"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tenha sempre em mente formas de deixar claro a ideia do seu projeto, como utilizar e onde encontrar os recursos que você criou.&lt;/p&gt;

&lt;h3&gt;
  
  
  Código
&lt;/h3&gt;

&lt;p&gt;Por fim, mantenha o seu código legível, se uma variável guarda uma idade, dê a ela o nome de &lt;strong&gt;$idade&lt;/strong&gt;. Se a sua função soma números, dê a ela o nome &lt;strong&gt;somarNumeros()&lt;/strong&gt;; Mantenha a identação adequada e não deixe seu código ultrapassar sua tela. Retorne mensagens de erro; &lt;/p&gt;

&lt;p&gt;E o principal: se coloque no lugar do próximo profissional que ocupará seu lugar.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Onde me encontrar&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;a href="https://www.linkedin.com/in/amanda-pereira-dev/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;
&lt;/h3&gt;
&lt;h3&gt;
  
  
  &lt;a href="https://github.com/constpereiradev" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
&lt;/h3&gt;


&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhdmw1yvc4bdr9gkm8tdg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhdmw1yvc4bdr9gkm8tdg.png" alt="Image description" width="800" height="548"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to make a CRUD REST API with LARAVEL 10?</title>
      <dc:creator>Amanda Pereira</dc:creator>
      <pubDate>Wed, 10 Apr 2024 14:17:49 +0000</pubDate>
      <link>https://dev.to/constpereiradev/how-to-make-a-crud-rest-api-with-laravel-10-7eo</link>
      <guid>https://dev.to/constpereiradev/how-to-make-a-crud-rest-api-with-laravel-10-7eo</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgl0up3p9dmokd1wru9xi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgl0up3p9dmokd1wru9xi.png" alt="Image description" width="600" height="400"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Hey you! Im glad you're here.&lt;br&gt;
Before we begin, I want to clarify that this tutorial covers the basics of creating a CRUD REST API with Laravel 10. While I'll do my best to explain the concepts and provide a step-by-step guide, I want to emphasize that I'm not an expert in the field. It's important to delve deeper into the topic and consult the official documentation for a comprehensive understanding. This article serves as a starting point, but it won't cover everything you need to know. With that said, let's get started!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://laravel.com/docs/10.x/readme" rel="noopener noreferrer"&gt;Laravel documentation&lt;/a&gt; is pretty complete and clear about all the functionalities of the framework, and PHP has such a big community, where you can ask and help everyone.&lt;/p&gt;

&lt;p&gt;I'm gonna make an Product CRUD.&lt;/p&gt;

&lt;p&gt;Open your terminal and create your Model, Controller and Migration.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan make:model Product

php artisan make:controller ProductController

php artisan make:migration create_products_table
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Let's configure the Products table.
Imagine that our product has title, description and price.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public function up(): void
    {
        Schema::create('products', function (Blueprint $table) {
            $table-&amp;gt;id();
            $table-&amp;gt;string('title');
            $table-&amp;gt;string('description');
            $table-&amp;gt;float('price');
            $table-&amp;gt;timestamps();
        });
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After that, you must "tell" your model that you can put values in these columns.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to your product model and put this line of code.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;protected $fillable = [
        'title',
        'description',
        'price',
    ];
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I guess you can realize that if you had an column called "color" you would have to add it in the array. This is how you say that these inputs are able to be fill.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to your product controller.
Here is where the magic happens before you write the routes.
Inside the class, let's make our first function. I'm gonna call it 'index'.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;use App\Models\Product;

class ProductController extends Controller{

  public function index(){

          $products = Product::all();

          return response()-&amp;gt;json([
              'Products: ' =&amp;gt; $products,
          ]);
      }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Let's understand what is going on here…&lt;/em&gt;&lt;br&gt;
4.1 Everytime you refer to something that is on another file, you have to _tell _your code where is it. This is why the line &lt;strong&gt;use App\Models\Product;&lt;/strong&gt; exists.&lt;/p&gt;

&lt;p&gt;4.2 The variable $products is receiving all products from your database. Remember that you were on its models file? There it is.&lt;/p&gt;

&lt;p&gt;4.3 We are returning a json script with our products (you will see them just after store on database).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create Store, Show, Update and Delete functions.
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public function store(Request $request){

        $input = $request-&amp;gt;validate([
            'title' =&amp;gt; ['required'],
            'description' =&amp;gt; ['required'],
            'price' =&amp;gt; ['required'],
        ]);

        $product = Product::create($input);

        if ($product-&amp;gt;save()){

            return response()-&amp;gt;json([
                'Message: ' =&amp;gt; 'Success!',
                'Product created: ' =&amp;gt; $product
            ], 200);

        }else {

            return response([

                'Message: ' =&amp;gt; 'We could not create a new product.',

            ], 500);
        }

    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Now you can create new products!&lt;br&gt;
See more about validation here and HTTP client here.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public function show(string $id){

        $product = Product::find($id);

        if ($product){

            return response()-&amp;gt;json([
                'Message: ' =&amp;gt; 'Product found.',
                'Product: ' =&amp;gt; $product
            ], 200);

        }else {

            return response([

                'Message: ' =&amp;gt; 'We could not find the product.',

            ], 500);
        }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you can find a product by the id.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public function update(Request $request, string $id){

        $product = Product::find($id);

        if($product){

           $input = $request-&amp;gt;validate([
              'title' =&amp;gt; ['required'],
              'description' =&amp;gt; ['required'],
              'price' =&amp;gt; ['required'],
            ]);

            $product-&amp;gt;title = $input['title'];
            $product-&amp;gt;description = $input['description'];
            $product-&amp;gt;price = $input['price'];

            if($product-&amp;gt;save()){

                return response()-&amp;gt;json([

                    'Message: ' =&amp;gt; 'Product updated with success.',
                    'Product: ' =&amp;gt; $product

                ], 200);

            }else {

                return response([

                    'Message: ' =&amp;gt; 'We could not update the product.',

                ], 500);

            }
        }else {

            return response([

                'Message: ' =&amp;gt; 'We could not find the product.',

            ], 500);
        }

    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you can update the informations of your product by the id.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public function destroy(string $id){

        $product = Product::find($id);

        if($product){

            $product-&amp;gt;delete();

            return response()-&amp;gt;json([

                'Message: ' =&amp;gt; 'product deleted with success.',

            ], 200);

        }else {

            return response([

                'Message: ' =&amp;gt; 'We could not find the product.',

            ], 500);
        }

    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you can delete a product by the id.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Now you have to create the routes, or you will can not access your api and test your functions.
Go to api.php.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;use App\Http\Controllers\ProductController;

Route::controller(ProductController::class)-&amp;gt;group(function () {

    Route::get('products', 'index');
    Route::post('product/create', 'store');
    Route::put('product/update/{id}', 'update');
    Route::get('product/read/{id}', 'show');
    Route::delete('product/delete/{id}', 'destroy');

});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For me, using an group route is the best way of make a clean code, but of course you can do it without the group. Here you have to understand what is get, post, put and delete, or you'll be just copying and pasting code.&lt;br&gt;
The route you created could be totally diferent, but we have to follow the patterns of the documentation.&lt;br&gt;
Don't forget to pass the id to the route if you passed it to the function.&lt;/p&gt;




&lt;p&gt;That's it! Run your migrations, start your server and enjoy it!&lt;br&gt;
When I made my first REST API, I didn't knew how it really works or where to see what was happening, that's why I use Postman today. Search about it and i'm sure you are gonna understand.&lt;br&gt;
&lt;a href="https://github.com/constpereiradev" rel="noopener noreferrer"&gt;Follow me on GitHub!&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/amanda-pereira-dev/" rel="noopener noreferrer"&gt;See my Linkedin!&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
