🚀 Capítulo 07: Criando o Primeiro Servidor (Tema: Homem de Ferro)
NOTE
Este capítulo utiliza a temática de Homem de Ferro para explicar o código. Vamos criar a primeira versão da JARVIS para responder aos nossos comandos!
1. 🎯 Objetivo da Aula
Criar o primeiro servidor web utilizando Node.js e o framework Express, entendendo a estrutura básica de escuta de portas.
2. 🏢 O Cenário Prático (Seu Desafio)
Tony Stark está trancado na caverna e precisa criar um sistema de comunicação para a armadura. Ele está usando peças velhas, mas tem um computador com Node.js instalado. Seu desafio é ajudá-lo a criar um servidor que fique “ouvindo” em uma porta e responda “Sistema JARVIS Online!” quando receber uma chamada!
3. 🧠 Fundamentos: A Teoria Traduzida
Para criar um servidor no mundo real, usamos linguagens de programação. Neste curso, usaremos Node.js (que permite rodar JavaScript no servidor) e o framework Express (que facilita a criação de rotas).
🏗️ Passos para criar um servidor:
- Importar o Express: Trazer a biblioteca para o código.
- Instanciar a aplicação: Criar o “objeto” do servidor.
- Definir uma Rota: Dizer o que fazer quando alguém acessar um endereço.
- Ouvir uma Porta: Dizer em qual “canal” o servidor deve ficar escutando.
4. 📖 Exemplo Guiado: O Código da JARVIS
Aqui está o código completo de um servidor em JavaScript (Node.js):
// 1. Importa o express
const express = require('express');
// 2. Instancia o servidor
const app = express();
const PORTA = 3000;
// 3. Define a rota raiz (/)
app.get('/', (req, res) => {
res.send('Sistema JARVIS Online! Olá, Senhor Stark.');
});
// 4. Liga o servidor para ouvir na porta
app.listen(PORTA, () => {
console.log(`JARVIS ouvindo na porta ${PORTA}`);
});5. 🛠️ Prática Obrigatória 1: Criando a Rota de Status
Adicione uma nova rota ao código acima.
- Quando o usuário acessar o endpoint
/status, o servidor deve responder:"Armadura com 100% de energia.". - Escreva apenas o pedaço de código da nova rota.
6. 🛠️ Prática Obrigatória 2: O que é uma Porta?
No código, usamos a porta 3000. Explique com suas palavras o que é uma “Porta” de rede em um servidor. (Dica: Pense em canais de TV ou portas de um prédio).
7. 📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
- Faça o Commit: No GitHub Desktop, digite a mensagem (ex:
Finaliza Capítulo 07 Backend) e clique em Commit to main. - Envie para a Nuvem (Push): Clique em Push origin.
8. 📂 Estrutura de Pastas
mod_07_backend_e_apis/
├── capitulos/
│ ├── capitulo_07_primeiro_servidor.md
│ └── codigos/
│ └── cap07/
│ └── server.js9. 💡 Checkpoint de Lógica
O que acontece se tentarmos ligar dois servidores diferentes na mesma porta (ex: 3000) no mesmo computador ao mesmo tempo?
10. 🔥 Desafio de Fixação
Pesquise como instalar o pacote express usando o comando npm install.
11. 🔑 Gabarito de Código/Fórmulas
Gabarito da Prática 1:
app.get('/status', (req, res) => {
res.send('Armadura com 100% de energia.');
});