Aula 8: Criando o Front-End com HTML, CSS e JavaScript - Curso Grátis Introdutório de Programação, Web e Jogos

 

Aula 8: Criando o Front-End com HTML, CSS e JavaScript

📌 Objetivo: Criar uma interface web para exibir os dados da nossa API usando HTML, CSS e JavaScript.


1️⃣ O Que é um Front-End?

O front-end é a parte visual de um site ou aplicação, aquilo que o usuário vê e interage.

Ele usa três tecnologias principais:


HTML → Estrutura da página (como ossos do corpo).


CSS → Estilização (como roupas e aparência).


JavaScript → Funcionalidade (como os músculos que permitem o movimento).



2️⃣ Criando o Arquivo HTML

Vamos criar um site simples que lista os clientes da nossa API.

📌 Crie um arquivo index.html e cole isso:

html

<!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Lista de Clientes</title> <style> body { font-family: Arial, sans-serif; text-align: center; background-color: #f4f4f4; } h1 { color: #333; } table { width: 50%; margin: auto; border-collapse: collapse; background: white; } th, td { padding: 10px; border: 1px solid #ccc; } th { background: #007bff; color: white; } </style> </head> <body> <h1>Lista de Clientes</h1> <table> <thead> <tr> <th>ID</th> <th>Nome</th> <th>Idade</th> </tr> </thead> <tbody id="tabela-clientes"> <!-- Os dados serão inseridos aqui --> </tbody> </table> <script> async function carregarClientes() { const response = await fetch('http://127.0.0.1:5000/clientes'); const clientes = await response.json(); const tabela = document.getElementById('tabela-clientes'); tabela.innerHTML = ""; // Limpa a tabela antes de preencher clientes.forEach(cliente => { const linha = `<tr> <td>${cliente.id}</td> <td>${cliente.nome}</td> <td>${cliente.idade}</td> </tr>`; tabela.innerHTML += linha; }); } carregarClientes(); </script> </body> </html>

Explicação:

  • Criamos uma tabela para exibir os clientes.
  • O JavaScript faz uma requisição para nossa API Flask e preenche os dados na tabela.
  • fetch('http://127.0.0.1:5000/clientes') busca os clientes no back-end.

🔥 Teste:

  1. Execute seu app.py do Flask.
  2. Abra index.html no navegador.
  3. Os clientes cadastrados no banco aparecerão na página!

3️⃣ Melhorando o Visual com CSS

Podemos deixar a página mais bonita com mais estilos.

📌 Modifique o <style> no index.html:

css

body { font-family: Arial, sans-serif; text-align: center; background-color: #f0f0f0; } h1 { color: #333; } table { width: 60%; margin: 20px auto; border-collapse: collapse; background: white; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } th, td { padding: 12px; border: 1px solid #ccc; } th { background: #007bff; color: white; } tr:nth-child(even) { background: #f2f2f2; }

Agora sua tabela ficou mais profissional! 🎨


4️⃣ Adicionando Clientes Pelo Front-End

Agora, vamos criar um formulário para adicionar clientes direto pelo site!

📌 Adicione este código ANTES da tabela no index.html:

html

<h2>Adicionar Cliente</h2> <input type="text" id="nome" placeholder="Nome"> <input type="number" id="idade" placeholder="Idade"> <button onclick="adicionarCliente()">Cadastrar</button>

E no JavaScript, adicione esta função:

js - JavaScript

async function adicionarCliente() { const nome = document.getElementById("nome").value; const idade = document.getElementById("idade").value; if (nome === "" || idade === "") { alert("Preencha todos os campos!"); return; } const response = await fetch('http://127.0.0.1:5000/adicionar_cliente', { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ nome, idade }) }); const resultado = await response.json(); alert(resultado.mensagem); carregarClientes(); // Atualiza a tabela }

Explicação:

  • O usuário digita um nome e idade.
  • A função adicionarCliente() envia os dados para a API.
  • A API armazena no banco e a página exibe o novo cliente.

5️⃣ Criando a Rota no Flask

Agora, precisamos criar a rota /adicionar_cliente no back-end!

📌 Modifique app.py e adicione esta rota:

python

from flask import request @app.route('/adicionar_cliente', methods=['POST']) def adicionar_cliente(): dados = request.json nome = dados.get("nome") idade = dados.get("idade") if not nome or not idade: return jsonify({"mensagem": "Nome e idade são obrigatórios!"}), 400 conexao = sqlite3.connect("meu_banco.db") cursor = conexao.cursor() cursor.execute("INSERT INTO clientes (nome, idade) VALUES (?, ?)", (nome, idade)) conexao.commit() conexao.close() return jsonify({"mensagem": "Cliente cadastrado com sucesso!"})

🔥 Agora seu site pode cadastrar clientes no banco de dados direto pelo navegador!


🎯 Exercício Prático

📌 Adicione um botão "Excluir Cliente" ao lado de cada cliente na tabela!

  1. O botão deve chamar uma função excluirCliente(id).
  2. Essa função deve enviar um DELETE para uma nova rota no Flask.
  3. O Flask deve remover o cliente do banco e atualizar a tabela.

💡 Dica: Use fetch() com method: "DELETE".


📩 Próxima Aula

Na Aula 9, vamos aprender sobre Deploy! Vamos colocar nossa aplicação online para qualquer pessoa acessar.

📌 Dúvidas? Pergunta aqui! 🚀

Comments

Popular posts from this blog

Aula 7: Criando um Back-End com Flask (API Web) - Curso Grátis Introdutório de Programação, Web e Jogos

Aula 9: Deploy - Colocando Sua Aplicação Online - Curso Grátis Introdutório de Programação, Web e Jogos