🚀 Capítulo 20: Projeto Final (Tema: Caverna do Dragão)

NOTE

Este capítulo utiliza a temática de Caverna do Dragão para o grande desafio final! Você vai construir a API da loja de itens mágicos do Mestre dos Magos!


1. 🎯 Objetivo da Aula

Consolidar todo o conhecimento do curso (Rotas, Verbos, Parâmetros, JSON, Middlewares, Tratamento de Erros e Testes) na construção de um projeto completo de API.

2. 🏢 O Cenário Prático (Seu Desafio)

Os jovens (Hank, Sheila, Eric, Diana, Presto e Bobby) estão cansados de tentar voltar para casa e decidiram abrir um comércio de itens mágicos no reino! O Mestre dos Magos será o fornecedor. Você foi contratado para criar a API do e-commerce deles. O sistema deve permitir:

  1. Cadastrar um novo item mágico (Nome, descrição, poder, preço).
  2. Listar todos os itens com suporte a Paginação (para não travar a carroça).
  3. Buscar um item específico por ID.
  4. Atualizar o preço de um item.
  5. Deletar um item que foi vendido.

Regras Extras:

  • A rota de deletar só pode ser acessada se o usuário enviar um cabeçalho de autorização simulando que ele é o Mestre dos Magos (Capítulo 12 e 15).
  • Todo o código deve estar protegido com try/catch (Capítulo 16).

3. 🧠 Fundamentos: A Teoria Traduzida

Este projeto é a prova de que você domina a base do desenvolvimento Backend. Você usará:

  • Express para o servidor.
  • JSON para os dados.
  • Postman para testar.
  • Swagger (teórico) para documentar.

4. 📖 Exemplo Guiado: Roteiro de Desenvolvimento

  1. Passo 1: Inicie o projeto e crie o array de produtos em memória com alguns itens (Ex: Arco do Hank, Escudo do Eric).
  2. Passo 2: Crie as rotas GET para listar e buscar.
  3. Passo 3: Crie a rota POST com validação de dados (não permita criar sem nome ou sem preço).
  4. Passo 4: Crie a rota DELETE e adicione o middleware de proteção.

5. 🛠️ Prática Obrigatória 1: O Código do Reino

Escreva o código completo da API do e-commerce da Caverna do Dragão em um arquivo JavaScript.

  • O arquivo deve simular o banco de dados em memória.
  • Dica: Você pode se basear no código do Capítulo 10 e adicionar as melhorias dos capítulos seguintes.

6. 🛠️ Prática Obrigatória 2: Documentando o Projeto

Escreva como ficaria a documentação teórica da rota POST /produtos (no padrão Swagger que vimos no capítulo 17). O que o usuário deve enviar e o que ele recebe de volta?


7. 📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)

  1. Faça o Commit: No GitHub Desktop, digite a mensagem (ex: Finaliza Projeto Final Backend) e clique em Commit to main.
  2. Envie para a Nuvem (Push): Clique em Push origin.
  3. No Microsoft Teams: Envie o link do seu repositório com o código da API e o roteiro de testes.

8. 📂 Estrutura de Pastas

mod_07_backend_e_apis/
├── capitulos/
│   ├── capitulo_20_projeto.md
│   └── codigos/
│       └── cap20/
│           └── api_caverna.js

9. 💡 Checkpoint de Lógica

Parabéns! Você concluiu a jornada! Você agora sabe como criar o motor que faz os maiores sites e aplicativos do mundo funcionarem por trás dos panos.

10. 🔥 Desafio de Fixação

Tente criar um pequeno Frontend (uma página HTML simples com JavaScript) que faça um fetch() para a sua API e mostre a lista de itens mágicos na tela.

🔑 Gabarito de Código/Fórmulas

Este capítulo não possui gabarito por ser um projeto aberto e de criação pessoal!


Capitulo Anterior